You don't see any difference when changing the no_chdir parameter because you are just printing $File::Find::name which is the full path of the file, and no_chdir does not change that. If you print $_ instead, you can see the difference: with no_chdir set to 1, the filename will be relative to the directory you specified for find() to begin the search (since it will not change dirs as it traverses the filesystem tree). If no_chdir is set to 0, then find() will chdir into dirs as it traverses the tree, giving you the filename (relative to that file's directory) in $_.
in reply to Re: Beginners guide to File::Find
in thread Beginners guide to File::Find
The no_chdir option isn't what you want to implement GNU find's maxdepth, check Aristotle's reply to this thread instead.
hope this helps,