[code 15:35] Arren@Anarres II: I did do a fix recently where getpeername() wasn't working properly on some generated symbol globs for sockets, something seems to have changed there. Probably doesn't help. #### #!/usr/bin/perl -w use strict; use Net::SMTP; use Carp qw(confess cluck); $SIG{__WARN__} = sub { cluck(@_) }; $SIG{__DIE__} = sub { confess(@_) }; my $smtp = Net::SMTP->new("localhost", Hello=>"localhost", Timeout=>20, Debug=>1) or die "$!"; #### No such file or directory at ./file.pl line 17. main::__ANON__('No such file or directory at ./file.pl line 17.^J') called at ./file.pl line 17 #### 44: if(defined $proto) { IO::Socket::INET::_sock_info(/usr/local/lib/perl5/5.6.1/IO/Socket/INET.pm:45): 45: if (@proto = ( $proto =~ m,\D, 46: ? getprotobyname($proto) 47: : getprotobynumber($proto)) 48: ) { IO::Socket::INET::_sock_info(/usr/local/lib/perl5/5.6.1/IO/Socket/INET.pm:52): 52: $@ = "Bad protocol '$proto'"; IO::Socket::INET::_sock_info(/usr/local/lib/perl5/5.6.1/IO/Socket/INET.pm:53): 53: return; IO::Socket::INET::_error(/usr/local/lib/perl5/5.6.1/IO/Socket/INET.pm:83): #### my $sock = new IO::Socket::INET ( LocalPort => 88988, Proto => 'tcp', Reuse => 1, Listen => 1, ) or die "poopy: $!"; #### poopy: No such file or directory at ./file.pl line 10. main::__ANON__('poopy: No such file or directory at ./file.pl line 10.^J') called at ./file.pl line 10