Ivan Shmakov | 30 Nov 2011 05:27
Picon
Gravatar

Net::HTTP vs. IO::Socket::INET6

	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


Gmane