You may prefer
File::Finder which is a wrapper around
File::Find that mimics the options for the find command.
If you choose to work directly with File::Find, keep in mind that nearly everything you would normally do on the command line with find you do inside of the visitor function ($wanted in the File::Find documentation). So if you want to exclude things by extension you would do something like this (pseudo code):
sub doForEachFile {
if ($File::Find::name !~ /\.[oa]$/) {
#we have what we want...do what ever;
}
}
Best, beth