use File::Find; find( sub { push @files, $File::Find::name if -f && /mail.log.*/ }, '.'); #### use File::Find; use vars qw/*name/; *name = *File::Find::name; find( sub { push @files, $name if -f && /mail.log.*/ }, '.');