Change 'continuing anyway' to 'probably harmless'
[p5sagit/p5-mst-13.2.git] / lib / FileHandle.pm
index b215147..0b5d9ed 100644 (file)
@@ -1,6 +1,6 @@
 package FileHandle;
 
-require 5.003;
+use 5.003_11;
 use strict;
 use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
 
@@ -39,6 +39,31 @@ require IO::File;
 import IO::Handle grep { !defined(&$_) } @EXPORT, @EXPORT_OK;
 
 #
+# Some people call "FileHandle::function", so all the functions
+# that were in the old FileHandle class must be imported, too.
+#
+{
+    no strict 'refs';
+
+    my %import = (
+       'IO::Handle' =>
+           [qw(DESTROY new_from_fd fdopen close fileno getc ungetc gets
+               eof flush error clearerr setbuf setvbuf _open_mode_string)],
+       'IO::Seekable' =>
+           [qw(seek tell getpos setpos)],
+       'IO::File' =>
+           [qw(new new_tmpfile open)]
+    );
+    for my $pkg (keys %import) {
+       for my $func (@{$import{$pkg}}) {
+           my $c = *{"${pkg}::$func"}{CODE}
+               or die "${pkg}::$func missing";
+           *$func = $c;
+       }
+    }
+}
+
+#
 # Specialized importer for Fcntl magic.
 #
 sub import {
@@ -105,7 +130,7 @@ FileHandle - supply object methods for filehandles
     }
 
     $pos = $fh->getpos;
-    $fh->setpos $pos;
+    $fh->setpos($pos);
 
     $fh->setvbuf($buffer_var, _IOLBF, 1024);
 
@@ -166,7 +191,7 @@ result!
 See L<perlfunc> for complete descriptions of each of the following
 supported C<FileHandle> methods, which are just front ends for the
 corresponding built-in functions:
-  
+
     close
     fileno
     getc