X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FFile%2Fstat.pm;h=132cbee27ada7bb6691b1dd631997b455033db44;hb=12ac2576dfc10fd43d91903e7602870c10b4f00f;hp=0c479d21f4ab4cbacec9348c1f87249c0b5baf7c;hpb=2f173a711df6278f66c6ac17988528b6f9c306f0;p=p5sagit%2Fp5-mst-13.2.git diff --git a/lib/File/stat.pm b/lib/File/stat.pm index 0c479d2..132cbee 100644 --- a/lib/File/stat.pm +++ b/lib/File/stat.pm @@ -53,7 +53,7 @@ sub stat ($) { local $!; no strict 'refs'; require Symbol; - $fh = \*{Symbol::qualify($arg)}; + $fh = \*{ Symbol::qualify( $arg, caller() )}; return unless defined fileno $fh; } return populate(CORE::stat $fh); @@ -115,6 +115,20 @@ function functions with their full qualified names. On the other hand, the built-ins are still available via the C pseudo-package. +=head1 BUGS + +As of Perl 5.8.0 after using this module you cannot use the implicit +C<$_> or the special filehandle C<_> with stat() or lstat(), trying +to do so leads into strange errors. The workaround is for C<$_> to +be explicit + + my $stat_obj = stat $_; + +and for C<_> to explicitly populate the object using the unexported +and undocumented populate() function with CORE::stat(): + + my $stat_obj = File::stat::populate(CORE::stat(_)); + =head1 NOTE While this class is currently implemented using the Class::Struct