use vars qw/*name *dir *prune/; *name = *File::Find::name; *dir = *File::Find::dir; *prune = *File::Find::prune; sub wanted; # Traverse desired filesystems File::Find::find({wanted => \&wanted}, '/home/tdawg/workspace/zoo'); exit; sub wanted {" /^list\.dat\z/s && print("$name\n"); }