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
);
%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 }
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, caller() )};
+ return unless defined fileno $fh;
+ }
+ return populate(CORE::stat $fh);
}
1;