Does IO::Select in Windows work with filehandles?
$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 {
}
}
My script continuously prints something to the screen, with open, the command gets started in the background but can_read
always fails on Windows. Any help?
See this PerlMonks thread:
select
(the underlying system call used byIO::Select
) only works for sockets in Windows.
MSDN docs for select confirm this:
The
select
function determines the status of one or more sockets, waiting if necessary, to perform synchronous I/O.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With