suggested by Darren Dunham. Includes a fix to the code example that
uses File::Find in perlfaq3.
p4raw-id: //depot/perl@26128
=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 *
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