in reply to Hash of IO::Socket::INET objects

Without using Tie::RefHash, you can't (documented in perlfaq4, "How can I use a reference as a hash key?"). When you use a reference as a hash key, it is stringified (turned into a string representation of the memory address), after which the key cannot be used as a reference. For example, one of your hash keys will look something like IO::Socket::INET=GLOB(0x80665b4) when examined.

You could change your data structure to store your objects in an array of hashes:
# in some loop my $client= $server->accept(); push @clients => { socket => $client, bytesTransferred => 0, };
Given that you were originally using a hash, the order probably doesn't matter, but for what it's worth, an array will keep the objects in the order originally inserted.

BTW, searching for 'object hash key' and 'reference hash key' yielded the following nodes related to your question:

Problem using object references as hash keys
using references as keys in a hash.
array reference as hash key
If a hash key is a reference...

--sacked