Have you considered using Tie::RefHash? Since
the socket handles are refrences and
you can't use refrences
as hash keys without some special magic first....
use Tie::RefHash;
my %sockethash;
tie %sockethash, 'Tie::RefHash';
...
@readable_handles=$selectobj->can_read(0.1);
foreach my $socket (@readable_handles) {
$sockethash{$socket}->{readable}=1;
}
etc...