Don't know if this is helpful -- I don't have much experience w/ socket level code. I use Cygwin Perl 5.8.6 on Win2KSP4:
#!/usr/local/bin/perl
use strict;
use warnings;
use IO::Socket::INET;
my $sock;
for ("tcp","udp","icmp","ugly") { # include a bad one
$sock = IO::Socket::INET->new(Proto=>$_) or die "Oops: $@";
print "$_ sock=$sock\n";
print ref($sock), $/;
}
Results:
$ ./socktest.pl
tcp sock=IO::Socket::INET=GLOB(0xa0aa72c)
IO::Socket::INET
udp sock=IO::Socket::INET=GLOB(0xa0aa6c0)
IO::Socket::INET
icmp sock=IO::Socket::INET=GLOB(0xa0aa78c)
IO::Socket::INET
Oops: IO::Socket::INET: Bad protocol 'ugly' at ./socktest.pl line 8.
|