#!/usr/bin/perl use strict; use warnings; use File::Find; # the shorter version my @results; find sub{-f $_ && $_ eq 'blah' && push(@results,$File::Find::name)}, shift || '.'; print("my results are: @results\n");