my $canWrite= IO::Select->new( $sock ); my $hasError= IO::Select->new( $sock ); my( $aWrite, $aError )= IO::Select->select( undef, $canWrite, $hasError ); for( @$aError ) { warn "Error on socket ($_).\n"; } for( @$aWrite ) { if( print $_ $message ) { print "message sent.\n"; } else { warn "Can't write to socket ($_): $!\n"; } }