Я пытаюсь запустить IPC :: Запуск, как описано в https://metacpan.org/pod/IPC::Run
#!/usr/bin/env perl
use strict;
use warnings FATAL => 'all';
use feature 'say';
use autodie qw(:all);
use IPC::Run qw(run timeout);
my ($out, $err);
## First,a command to run:
my @cat = qw( cat );
## Using run() instead of system():
my $in = __FILE__;
run \@cat, \$in, \$out, \$err, timeout( 10 ) or die "cat: $?";
say "\$out = $out";
say "\$err = $err";
say "\$in = $in";
Однако вывод не верен:
con@con-VirtualBox:~/Scripts$ perl ipc_run.pl
$out = ipc_run.pl
$err =
$in = ipc_run.pl
$out
- это просто имя файла, когда оно должно быть содержимым файла. Это следует делать cat ipc_run.pl
в командной строке
Как я могу заставить $out
отобразить вывод как надо?