$dir='path to directory'; opendir D, $dir or die "Cannot open directory $dir: $!\n"; while( defined (my $file = readdir(D)) ) { if ($file =~ /\.dat$/){ push(@files,$file); } } closedir D; @files = sort @files; @filename = split(/\./,$files[$#files]); print $filename[0],"\n"; $filename = ($filename[0] + 1) . '.dat'; print $filename,"\n";