summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRafael Garcia-Suarez <rgarciasuarez@gmail.com>2005-11-14 15:40:08 +0000
committerRafael Garcia-Suarez <rgarciasuarez@gmail.com>2005-11-14 15:40:08 +0000
commit54bd407c97e6a92e0d8fe74bdc8d886f888a65cc (patch)
tree61b477e5c0678a7f741040466f1aa3ecaf1cc38a
parent7eb550cf010090aecb73da60fde61194798b89d1 (diff)
downloadperl-54bd407c97e6a92e0d8fe74bdc8d886f888a65cc.tar.gz
A better fix for [perl #35847] File::Find not performing as documented,
suggested by Darren Dunham. Includes a fix to the code example that uses File::Find in perlfaq3. p4raw-id: //depot/perl@26128
-rw-r--r--lib/File/Find.pm9
-rw-r--r--pod/perlfaq3.pod8
2 files changed, 9 insertions, 8 deletions
diff --git a/lib/File/Find.pm b/lib/File/Find.pm
index e41c2418cf..497051e063 100644
--- a/lib/File/Find.pm
+++ b/lib/File/Find.pm
@@ -120,11 +120,10 @@ If either I<follow> or I<follow_fast> is in effect:
=item *
-Previous versions of File::Find were guaranteed to call an I<lstat>
-before the user's C<wanted()> function was called, but this is no
-longer the case. Since this depends on C<$File::Find::dont_use_nlink>, $^O,
-and other factors, fast file checks involving C<_> are not recommended
-unless C<wanted()> calls I<lstat> first.
+It is guaranteed that an I<lstat> has been called before the user's
+C<wanted()> function is called. This enables fast file checks involving S<_>.
+Note that this guarantee no longer holds if I<follow> or I<follow_fast>
+are not set.
=item *
diff --git a/pod/perlfaq3.pod b/pod/perlfaq3.pod
index 67a8d43627..02e15b7c5c 100644
--- a/pod/perlfaq3.pod
+++ b/pod/perlfaq3.pod
@@ -85,10 +85,12 @@ with File::Find which is part of the standard library.
use File::Find;
my @files;
- find sub { push @files, $File::Find::name if -f _ && /\.pm$/ },
- @INC;
+ find(
+ sub { push @files, $File::Find::name if -f $File::Find::name && /\.pm$/ },
+ @INC
+ );
- print join "\n", @files;
+ print "$_\n" for @files;
If you simply need to quickly check to see if a module is
available, you can check for its documentation. If you can