for my $file (glob '1M01_F*.npt.gro') { next unless $file=~/^1M01_F(\d{5})\.npt\.gro$/ && $1>120 && $1<=150; print "$file\n"; } __END__ 1M01_F00121.npt.gro 1M01_F00130.npt.gro 1M01_F00140.npt.gro 1M01_F00150.npt.gro