0
InfLoop是一个在无限循环中打印随机数的应用程序。以下语句是阻塞的,即perl等待直到应用程序InfLoop退出。Perl从无限循环中读取
$out=`./InfLoop`;
我想知道有什么方法可以在不等待InfLoop退出的情况下读取perl中的打印数字。至少通过使用叉子,IPC或类似的东西。
InfLoop是一个在无限循环中打印随机数的应用程序。以下语句是阻塞的,即perl等待直到应用程序InfLoop退出。Perl从无限循环中读取
$out=`./InfLoop`;
我想知道有什么方法可以在不等待InfLoop退出的情况下读取perl中的打印数字。至少通过使用叉子,IPC或类似的东西。
您可以阅读行的任意数量的关闭管道./InfLoop
open my $pipe, "-|", "./InfLoop" or die $!;
# read first N lines
for my $i (1..3) {
my $line = readline($pipe);
print $line;
}
close($pipe);
哇哇整洁的方式之前,谢谢。我尝试了许多没有意义的。 – Dinesh
如何使其成为双向? – Dinesh
http://perldoc.perl.org/perlipc.html#Bidirectional-Communication-with-Another-Process –