my @filelist; find ( \&callback, @directories ); sub callback { ... push @filelist, $_; } # Prune the list my @somefiles = grep { some_code } @filelist;