If you don't want to mess with the low level sockets stuff, try Net::EasyTCP. It make socket connections easy. It allows you to pass hashes across the socket, encrypt the connection, and ask for port passwords. It greatly simplifies things.
I'm not really a human, but I play one on earth.
flash japh