Я играю с run
в Windows.Попытка с dir
не работает, но, возможно, я что-то упускаю:
put '-' x 70;
my $p1 = run 'dir', :out;
put "exit code: {$p1.exitcode}";
put $p1.out.slurp(:close);
put '-' x 70;
my $p2 = Proc.new: :out;
put "exit code: {$p2.exitcode}";
$p2.spawn: 'dir';
$p2.out.slurp(:close).say;
Вывод - это просто правило и строки кода выхода:
----------------------------------------------------------------------
exit code: 1
----------------------------------------------------------------------
exit code: 1
dir
отлично работает с shell
, но это другой способ работы.Я мог бы сделать это, но он проходит через оболочку, которую run
хочет избежать:
my $p1 = run 'cmd.exe', '/C', 'dir', :out;