2009-11-09 1 views
3

Est-ce que IO::Select dans Windows fonctionne avec des handles de fichiers?IO :: Select de Perl fonctionne-t-il avec des handles de fichiers?

$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 { 
    } 
} 

Mon script imprime en permanence quelque chose à l'écran, avec ouvert, la commande se met en marche en arrière-plan, mais can_read échoue toujours sous Windows. De l'aide?

Répondre

8

Voir cette PerlMonks thread:

select (l'appel système sous-jacent utilisé par IO::Select) ne fonctionne que pour les sockets dans Windows.

MSDN docs for select confirment:

La fonction select détermine l'état d'une ou plusieurs prises, dans l'attente, si nécessaire, pour effectuer E/S synchrone.

+0

Existe-t-il une solution de contournement? –

Questions connexes