I experienced the same symptoms, good monk
c, when using IO::Socket v1.1603 and Perl 5.00503 on Debian. Upgrading IO::Socket to v1.25 didn't help. But your code works fine for me with Cygwin (and Win2k alone), running IO::Socket v1.26 and Perl 5.00601.
So the problem would appear to be either with down-rev IO::Socket and/or down-rev Perl. FWIW, I found simpler syntax for what you're attempting in Network Programming with Perl. Let me know if you're interested.
BTW, single-quotes will suffice at lines 6 and 8, since you aren't interpolating variables. And no quotes are needed at all on lines 7, 11, 12, 13, and 14.
cheers,
Don
striving toward Perl Adept
(it's pronounced "why-bick")