in reply to Sockets and Output

You need to autoflush STDOUT in your client (if you are terminating your client with ^C). Also, there's no reason to do the sysread one byte at a time. You should be able to (I haven't tested):
while (sysread($sock, $buffer, 1024)) { print $buffer }