my @files=@{finder()}; sub finder{ use File::Find; my $lpre=length($prefix); my $lext=length($ext); my $mustbesize=$lpre+$count+$lext; my @txts; find(sub { my $name=substr($File::Find::name,2); # kill the ./ ; return unless (length($name)==$mustbesize); return unless (substr($name,0,$lpre) eq $prefix); return unless (substr($name,-1,$lext) eq $ext); return unless (substr($name,$lpre,$count)=~m/^\d+$/); push @txts,$name; } , '.'); return \@txts ; } # finder