my $root_name = "foo"; my $next_number = (sort {$b <=> $a} map {/(\d+)$/; $1} glob("${root_name}*"))[0] + 1; my $next_name = "$root_name$next_number"; # ...