我是Perl的新手,并正在为此而苦苦挣扎。我如何使下面的代码迭代asterisk_Output for循环的每次运行?目前,它在for循环的第一次迭代中完成while循环,但不在后续循环中完成。Perl while while循环只在for循环中循环一次
open(asterisk_Output, "/usr/sbin/asterisk -rx \"sip show registry\"|") or die $!;
foreach (@monitor_trunks){
while (my $line = <asterisk_Output>) {
#Perform some action... Such as comparing each line.
}
}
我有它的工作的唯一途径是通过把内部的顶线环,但是这是联合国需要做出的外部命令多次调用。
什么是@ monitor_trunks?这与外部命令有关吗? – 2014-10-19 20:57:05
查看http://stackoverflow.com/questions/12043592/perl-re-reading-from-already-read-filehandle – 2014-10-19 20:57:47
@martinclayton鉴于文件句柄是从外部命令输出而不是文件,该解决方案将可能会返回非法寻求。 – Miller 2014-10-19 21:34:54