Proc::Async
- это один из классов, которые Perl 6 использует для асинхронного взаимодействия с системой. В документации указан способ для привязки к выходу внешней программы :
my $p = Proc::Async.new("ls", :out);
my $h = "ls.out".IO.open(:w);
$p.bind-stdout($h);
await $p.start;
say "Done";
(добавлены некоторые модификации, например, ожидание обещания). Тем не менее, я не знаю, как напечатать вывод этого $p
. Добавление tap
приводит к этой ошибке:
Cannot both bind stdout to a handle and also get the stdout Supply
в блоке в строке bind-stdout.p6 8
В документации есть print
и методы записи , но я не знаю, как read
из нее, кроме чтения файла. Есть идеи?