File::Spec & NetWare
[p5sagit/p5-mst-13.2.git] / lib / File / stat.pm
index f86bfe5..0c479d2 100644 (file)
@@ -1,9 +1,13 @@
 package File::stat;
+use 5.006;
+
 use strict;
+use warnings;
 
-use 5.005_64;
 our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
 
+our $VERSION = '1.00';
+
 BEGIN { 
     use Exporter   ();
     @EXPORT      = qw(stat lstat);
@@ -15,6 +19,7 @@ BEGIN {
                    );
     %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] );
 }
+use vars @EXPORT_OK;
 
 # Class::Struct forbids use of @ISA
 sub import { goto &Exporter::import }
@@ -43,9 +48,15 @@ sub stat ($) {
     my $arg = shift;
     my $st = populate(CORE::stat $arg);
     return $st if $st;
-    no strict 'refs';
-    require Symbol;
-    return populate(CORE::stat \*{Symbol::qualify($arg)});
+       my $fh;
+    {
+               local $!;
+               no strict 'refs';
+               require Symbol;
+               $fh = \*{Symbol::qualify($arg)};
+               return unless defined fileno $fh;
+       }
+    return populate(CORE::stat $fh);
 }
 
 1;