Net/HTTP.pm reads: 7 unless ($SOCKET_CLASS) { 8 eval { require IO::Socket::INET } || require IO::Socket; 9 $SOCKET_CLASS = "IO::Socket::INET"; 10 }
I'm curious, shouldn't it read like the following instead? 7 unless ($SOCKET_CLASS) { 8 if (eval { require IO::Socket::INET6 }) { 9 $SOCKET_CLASS = "IO::Socket::INET6"; 10 } else { 11 eval { require IO::Socket::INET } 12 || require IO::Socket; 13 $SOCKET_CLASS = "IO::Socket::INET"; 14 } 15 } For sure, one could set $SOCKET_CLASS prior to loading Net::HTTP, but then, patching every user of Net::HTTP for IPv6 support doesn't seem sane. Or did I miss something? TIA. PS. The change suggested above appears to work for me. -- FSF associate member #7257