in reply to IO::Socket... passing more then just text
Net::EasyTCP will do it for you transparently. You can essentailly do
$client->send(\%hash); [download]