2009-11-09 70 views
3

Windows中的IO::Select使用文件句柄吗?Perl中的IO :: Select在Windows中使用文件句柄吗?

$pid = open $handle, "-|", "$_command" || die "Cannot run $_command"; 
my $s = IO::Select->new(); 
$s->add($handle); 
$s->add(\*STDIN); 
while (1) { 
    @ready = $s->can_read(30); 
    if (scalar(@ready) > 0) { 
    } 
    else { 
    } 
} 

我的脚本连续打印的东西到屏幕上,以开放,命令被启动的背景,但can_read总是失败在Windows上。任何帮助?

回答

8

看到这个PerlMonks thread

select(由IO::Select使用的底层系统调用)仅在Windows适用于插座。

MSDN docs for select确认:

select函数确定的一个或多个插座的状态,如有必要则等待,为了进行同步I/O。

+0

有一种变通方法,不知何故? – 2014-03-13 10:10:17