http://www.perlmonks.org?node_id=754265


in reply to Finding files excluding some

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

Replies are listed 'Best First'.
Re^2: Finding files excluding some
by Nkuvu (Priest) on Mar 30, 2009 at 22:35 UTC

    Very minor syntax preference: If I'm looking to exclude files, I generally return from the 'wanted' function, which just reduces the level of indentation in the subroutine. For example:

    sub doForEachFile { return if $File::Find::name =~ /\.[oa]$/; #we have what we want...do what ever; }

    Does the same thing as your code, just organized a bit differently.