opendir(DIR, '.') || die "Couldn't opendir: $!\n"; foreach my $filename (reverse((grep /^sniffer/, readdir(DIR)))) { my $new_name = $filename; if($new_name =~ m/(\d+)/) { my $value = $1 +1; $new_name =~ s/.*/"sniffer$value\.log"/; } else { $new_name =~ s/.*/sniffer1.log/; } rename($filename, $new_name) unless $filename eq $new_name; close(DIR);