Try this instead, in case the select method returns a reference to an array:
my $rhSet = IO::Select->select($readSet, undef, undef, 0);
foreach $rh(@$rhSet)
{
You should also read the perldoc for IO::Select, there is a short example at the end.
perldoc IO::Select
EXAMPLE
Here is a short example which shows how "IO::Select" could
be used to write a server which communicates with several
sockets while also listening for more connections on a
listen socket
use IO::Select;
use IO::Socket;
$lsn = new IO::Socket::INET(Listen => 1, LocalPort => 8080);
$sel = new IO::Select( $lsn );
while(@ready = $sel->can_read) {
foreach $fh (@ready) {
if($fh == $lsn) {
# Create a new socket
$new = $lsn->accept;
$sel->add($new);
}
else {
# Process socket
# Maybe we have finished with the socket
$sel->remove($fh);
$fh->close;
}
}
}
|