File::Spec & NetWare
[p5sagit/p5-mst-13.2.git] / lib / File / stat.pm
index f5d17f7..0c479d2 100644 (file)
@@ -1,9 +1,15 @@
 package File::stat;
+use 5.006;
+
 use strict;
+use warnings;
+
+our(@EXPORT, @EXPORT_OK, %EXPORT_TAGS);
+
+our $VERSION = '1.00';
 
 BEGIN { 
     use Exporter   ();
-    use vars       qw(@EXPORT @EXPORT_OK %EXPORT_TAGS);
     @EXPORT      = qw(stat lstat);
     @EXPORT_OK   = qw( $st_dev    $st_ino    $st_mode 
                       $st_nlink   $st_uid    $st_gid 
@@ -13,7 +19,7 @@ BEGIN {
                    );
     %EXPORT_TAGS = ( FIELDS => [ @EXPORT_OK, @EXPORT ] );
 }
-use vars      @EXPORT_OK;
+use vars @EXPORT_OK;
 
 # Class::Struct forbids use of @ISA
 sub import { goto &Exporter::import }
@@ -42,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;