http://www.perlmonks.org?node_id=32892


in reply to RE: RE: File::Find
in thread File::Find

Here is my test prog :-
use strict; use File::Find; my $dir = shift; my ($with, $without); print "Counting files in $dir\n"; # This is the default on Linux $File::Find::dont_use_nlink = 0; find(sub { $without++ }, $dir); $File::Find::dont_use_nlink = 1; find(sub { $with++ }, $dir); print "With \$File::Find::dont_use_nlink = 0: $without files found\n"; print "With \$File::Find::dont_use_nlink = 1: $with files found\n";
I ran this on a mounted iso9660 disc like this (note if the disc has RockRidge extensions then it works properly!) :-
$ ./file_find_test.pl /mnt/cdrom 
Counting files in /mnt/cdrom
With $File::Find::dont_use_nlink = 0: 29 files found
With $File::Find::dont_use_nlink = 1: 1300 files found
This was on Linux 2.2.17 with perl 5.00503 with the standard File::Find that comes with the distribution

I agree with tye's comment here - $File::Find::dont_use_nlink should be 1 on all platforms - the slowdown isn't worth the incompatibilities.