for my $file (glob '1M01_F*.npt.gro') { next unless $file=~/^1M01_F\d{5}\.npt\.gro$/; print "$file\n"; } __END__ 1M01_F00121.npt.gro 1M01_F00130.npt.gro 1M01_F00140.npt.gro 1M01_F00150.npt.gro #### for my $n (121,130,140,150) { my $file = sprintf '1M01_F%05d.npt.gro', $n; print "$file\n"; } __END__ 1M01_F00121.npt.gro 1M01_F00130.npt.gro 1M01_F00140.npt.gro 1M01_F00150.npt.gro