#!/usr/bin/perl use strict; use warnings; my $topdir = 'D:/PGN/ELSEVIER/FNS/1(1)/press'; opendir HU, $topdir; # don't quote a single scalar my @files = grep /\.txt$/i, readdir HU; # will also match .TXT closedir HU; my $biggest = 0; #keep track of largest number found for my $frame (@files){ if($frame =~ m|^partial_pressps_report(\d+)|){ my $n = $1; # capture number from filename if( $n > $biggest ){ # is it bigger than $biggest? $biggest = $n; # then save it } } } $biggest++; # got the largest one, now increment it print $biggest; # and print it