find (\&wanted, dir1[, dir2 ...])
Works like the Unix find command; traverses the
specified directories, looking for files that match the expressions
or actions you specify in a subroutine called
wanted, which you must define. For example, to
print out the names of all executable files, you could define
wanted this way:
sub wanted {
print "$File::Find::name\n" if -x;
}
Provides the following variables:
- $File::Find::dir
-
Current directory name ($_ has the current
filename in that directory).
- $File::Find::name
-
Contains $File::Find::dir/$_. You are
chdired to $File::Find::dir
when find is called.
- $File::Find::prune
-
If true, find does not descend into any
directories.
- $File::Find::dont_use_nlink
-
Set this variable if you're using the Andrew File
System (AFS).
finddepth (\wanted, dir1[, dir2...])
Like find, but does a depth-first search.
The standard Perl distribution comes with a Perl script,
find2perl, which takes a Unix
find command and turns it into a
wanted subroutine.