use File::Find;



find(\&wanted, 'dir1', 'dir2'...);

sub wanted { ... }



use File::Find;

finddepth(\&wanted, 'dir1', 'dir2'...);  # traverse depth-first

sub wanted { ... }

*****

sub wanted {

    print "$File::Find::name\n" if -x;

}

*****

find2perl / -name .nfs\* -mtime +7 \

             -exec rm -f {} \; -o -fstype nfs -prune

*****

sub wanted {

    /^\.nfs.*$/ &&

    (($dev, $ino, $mode, $nlink, $uid, $gid) = lstat($_)) &&

    int(-M _) > 7 &&

    unlink($_)

    ||

    ($nlink || (($dev, $ino, $mode, $nlink, $uid, $gid) = lstat($_))) &&

    $dev < 0 &&

    ($File::Find::prune = 1);

}

*****

sub wanted {

    -l and not -e and print "bogus link: $File::Find::name\n";

}

