2009-11-09 65 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