【发布时间】:2015-04-13 05:05:35
【问题描述】:
use strict;
use warnings;
my $file = 'SnPmaster.txt';
open my $info, $file or die "Could not open $file: $!";
while( my $line = <$info>) {
print $line;
last if $. == 2;
}
close $info;
无论我在哪里,都建议从文件句柄 (while( my $line = <$info>)) 中读取上述内容。
但是有没有一种方法可以读取而不是使用 while 循环?
open FH,
"executable_that_prints_every_once_in_awhile"
or die 'Cannot open FH';
while (1){
# do something which doesnt get blocked by <FH>
if (my $line from <FH>) { <---- is there something like it?
print $line;
}
last if eof <FH>;
}
例如,轮询是否有来自文件句柄的输入?
while( my $line = <$info>) 的问题在于它会阻塞,所以我在等待从 FH 获取东西时不能做其他事情
【问题讨论】:
标签: perl