I wouldv'e replied to the original node but I think the html was messed up.
You may want to look at
IO::Socket::INET. You are connecting using a UDP connection, but you are trying to communicate with it as if it was a TCP connection. Quake needs the UDP. To communicate with UDP, try the following:
my $buffer = undef;
$remote_sock->send("My stuff to send",0);
$remote_sock->recv($buffer,4096,0); # SOCK, LEN, OFFSET
# $buffer will now contain the response
Hope that helps...
my @a=qw(random brilliant braindead); print $a[rand(@a)];