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


in reply to How do I ignore an entire directory using File::Find?

find/rule is much easier to manage, see Re^2: getting picky with File::Find::Rule less typing find/rule , write something like

use File::Find::Rule qw/ find rule /; my $gonerDirs = rule( directory => name => [ 'baby', 'dead' ], qw/ prune discard/, ); ## use File::Find::Rule::Permissions (); ## ??? not for win32 ## my $keeperFiles = rule( file => permissions => [ '???' ],... ); my $keeperFiles = rule( file => exec => \&worldWriteable ... ); my @files = find( not => $gonerDirs , any => $keeperFiles , in => \@startdirs, );

Same deal

my @files = rule()->or( ## !IMPORTANT NOTE discard before prune with rule()/find() rule( name => [ 'baby','dead' ], qw/ directory discard prune /), rule( file => exec => \&worldWriteable,... ) )->in( @startdirs );

Where you write

sub worldWritable { my( $shortname, $path, $fullname ) = @_; ## $shortname == $_; ... return 1 if $want; return 0 if not $want; }

Replies are listed 'Best First'.
Re^2: How do I ignore an entire directory using File::Find? (find/rule)
by theillien1 (Acolyte) on Jun 18, 2014 at 03:48 UTC
    I'm not entirely sure I'm following your example.

      I'm not entirely sure I'm following your example.

      Ok then :) do you have a question?