Gary Hawkins wrote:
> > Read through 'preprocess' subsection of the File::Find docs
> > (perldoc File::Find).
> > This might be of help to you.
>
> I already read the fantastic manual and was hoping for something that conveys
> understanding.
>
> "preprocess"
> The value should be a code reference. This code reference is used to
> preprocess a directory; it is called after readdir() but before the
> loop that calls the wanted() function. It is called with a list of
> strings and is expected to return a list of strings. The code can be
> used to sort the strings alphabetically, numerically, or to filter
> out directory entries based on their name alone.
This is an example code
#!/usr/local/bin/perl
use strict;
use File::Find;
find ( {wanted => \&printFiles, preprocess => \&sortFiles}, $yourdirname);
# The first argument to the find routine can be a hash reference. The keys being
the various
# operations that can be performed on the file. The 'preprocess' if specified
is a reference to
# a subroutine. To this subroutine will be passed a list of files in the
directory currently scanned.
# You can play around with list (sort it lexically etc.)
# To notice the difference in output comment the previous find call and
uncomment the next
# find call.
#find (\&printFiles, 'dirs');
sub sortFiles {
sort (@_);
}
sub printFiles {
print "$File::Find::name\n";
}
hth,
Sudarsan
>
>
> /g
>
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]