opendir DIR, "the/base/directory" or die $!; my @dirs = readdir DIR; closedir DIR; shift @dirs; # remove .. shift @dirs; # and . @dirs = sort @dirs; my $highest = $dirs[-1]; $highest =~ s/\D//g; $highest += 1000; my $limit = $highest + 10000; while ($highest < $limit) { mkdir "object$highest"; $highest += 1000; }