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,
);
####
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
);
##
##
sub worldWritable {
my( $shortname, $path, $fullname ) = @_;
## $shortname == $_;
...
return 1 if $want;
return 0 if not $want;
}