The way I've dealt with the problem [1] is by requiring
        IO::Socket::INET6 first, while still allowing the code to fall
        back to IO::Socket::INET.  (Just like Net::HTTP already falls
        back to IO::Socket if IO::Socket::INET is itself unavailable.)

        The patch I'm using is MIME'd.

[1] http://permalink.gmane.org/gmane.comp.lang.perl.modules.lwp/2556

-- 
FSF associate member #7257
--- HTTP.pm.~1~	2012-02-17 03:17:26.000000000 +0700
+++ HTTP.pm	2012-03-27 17:05:37.000000000 +0700
@@ -5,8 +5,13 @@
 
 $VERSION = "6.03";
 unless ($SOCKET_CLASS) {
-    eval { require IO::Socket::INET } || require IO::Socket;
-    $SOCKET_CLASS = "IO::Socket::INET";
+    if (eval { require IO::Socket::INET6 }) {
+        $SOCKET_CLASS = "IO::Socket::INET6";
+    } else {
+        eval { require IO::Socket::INET }
+            || require IO::Socket;
+        $SOCKET_CLASS = "IO::Socket::INET";
+    }
 }
 require Net::HTTP::Methods;
 require Carp;

Reply via email to