No, not really. In my update I admit that I'm having strange results whether I fork() or new threads(). I obviously just don't know how to do what I'm trying to do at all...
I'm experimenting with the $sock=new IO::Socket; $sock->fdopen() that someone linked to. Perhaps that'll fix me up.
Comment on Re^2: IO::Socket::INET, threads, and screwy recv() results