$person_sel = $values{"person_sel"}; use File::Find (); # for the convenience of &wanted calls, including -eval statements: use vars qw/*name *dir *prune/; *name = *File::Find::name; *dir = *File::Find::dir; *prune = *File::Find::prune; sub wanted; sub doexec ($@); # Traverse desired filesystems File::Find::find({wanted => \&wanted}, $calPath); sub wanted { doexec(0, 'grep','-l',$person_sel,'{}') } 0 use Cwd (); my $cwd = Cwd::cwd(); sub doexec ($@) { my $okCw shift; my @command = @_; # copy so we don't try to s/// aliases to constants for my $word (@command) { $word =~ s#{}#$name#g } if ($ok) { my $old = select(STDOUT); $| = 1; print "@command"; select($old); return 0 unless =~ /^y/; } chdir $cwd; #sigh system @command; chdir $File::Find::dir; return !$?; }