Interesting. The failure is triggered outside of portAlive. The code below added calling portAlive() gives the error on Win2003 perl 5.10. Note that the service is an ordinary windows service, not actually doing anything on that port.
use strict;
use warnings;
use Socket;
my $host = 'localhost';
my $port = shift || '8888';
my $timeout = 3;
my $result = portAlive( 'localhost', 8888);
print "result = $result\n";
print `net start "CONTENTdm Monitor 9998"`;
exit;
-------------------------------------
Nothing is too wonderful to be true
-- Michael Faraday