use Socket qw(:DEFAULT :crlf); use IO::Handle; my ($remote, $iaddr, $paddr, $proto, $line, $response); $remote = $client || 'localhost'; $port = $port || 8086; # random port if ($port =~ m/\D/) { $port = getservbyname($port, 'tcp') } die "Bad port" unless $port; $iaddr = inet_aton($remote) or die "can't connect: $remote"; $paddr = sockaddr_in($port, $iaddr); $proto = getprotobyname('tcp'); socket(SOCK, PF_INET, SOCK_STREAM, $proto) or die "socket: $!"; connect(SOCK, $paddr) or die "connect: $!"; SOCK->autoflush(1); print SOCK $encrypted_message . CRLF;