use File::Find (); # and my wanted() routine to stuff names into this list my @things_I_like; File::Find::find( {wanted => \&wanted}, '..' ); sub wanted { # print " We're looking at '$File::Find::name' ... (\$_ is '$_')\n"; # push @things_I_like, $_ push @things_I_like, $File::Find::name if m/^mabman1\.pl\z/s; # if m/^spam\.spam\z/s; } if( @things_I_like ) { print " I like @things_I_like\n"; } else { print " Nothing's going my way.\n"; }