Integrate change #14062 from macperl;
[p5sagit/p5-mst-13.2.git] / ext / IO / IO.pm
index 4d4c81c..0087530 100644 (file)
@@ -2,6 +2,24 @@
 
 package IO;
 
+use XSLoader ();
+use Carp;
+
+$VERSION = "1.20";
+XSLoader::load 'IO', $VERSION;
+
+sub import {
+    shift;
+    my @l = @_ ? @_ : qw(Handle Seekable File Pipe Socket Dir);
+
+    eval join("", map { "require IO::" . (/(\w+)/)[0] . ";\n" } @l)
+       or croak $@;
+}
+
+1;
+
+__END__
+
 =head1 NAME
 
 IO - load various IO modules
@@ -20,17 +38,10 @@ Currently this includes:
       IO::File
       IO::Pipe
       IO::Socket
+      IO::Dir
 
 For more information on any of these modules, please see its respective
 documentation.
 
 =cut
 
-use IO::Handle;
-use IO::Seekable;
-use IO::File;
-use IO::Pipe;
-use IO::Socket;
-
-1;
-