An interesting comment which I thought I might make is the fact that recent versions of
File::Find, well at least that shipped with Perl 5.6.1, no longer use recursion (in the truest sense of the term) in order to generate a list of files. By recursion in the truest sense of the term, I refer to a single block of re-entrant code that is called for each new iteration through a directory - Instead, newer versions of
File::Find make use of a stack method (search newer
File::Find code for
@Stack within the
_find_dir subroutine) which allows for the processing of directories either by depth first or by breadth first, depending on where you expect files to reside.
A comparison of the File::Find code between versions 5.005.03 and 5.6.1 highlights a number of differences between recursion and stack processing which may be interesting to some.
perl -e 's&&rob@cowsnet.com.au&&&split/[@.]/&&s&.com.&_&&&print'