in reply to Problems with IO::Socket and recv

Substitute sysread $foo, $msg, 1024; for $foo->recv($msg, 1024, 0); What you're reading from is not a socket, so it's not autovivified to a socket and conversely the object it becomes does not know recv.

Makeshifts last the longest.