Perl从无限循环应用程序中读取

时间:2013-12-17 10:41:04

标签: perl

InfLoop是一个在无限循环中打印随机数的应用程序。以下语句是阻塞的,即perl等待直到InfLoop退出的应用程序。

$out=`./InfLoop`;

我想知道有没有办法在perl中读取打印的数字,而无需等待InfLoop退出。至少通过使用fork,IPC或类似的东西。

1 个答案:

答案 0 :(得分:3)

在将管道关闭到./InfLoop

之前,您可以读取任意数量的行
open my $pipe, "-|", "./InfLoop" or die $!;
# read first N lines
for my $i (1..3) {
  my $line = readline($pipe);
  print $line;
}
close($pipe);