You can work on VMS: the OS automatically assigns version numbers (starting with 1) to files that you create. If you create a "foo.txt" file, VMS actually creates "foo.txt;1". When you modify this file, a new version, "foo.txt;2" will be created. ;-)
More seriously, I had to create recently directories with sequence numbers, say something like foo1, foo2, foo3, etc. I did something similar to this (from sheer memory, I did not test the version posted here):
my $root_name = "foo";
my $next_number = (sort {$b <=> $a} map {/(\d+)$/; $1} glob("${root_na
+me}*"))[0] + 1;
my $next_name = "$root_name$next_number";
# ...
Perhaps slightly less efficient than Ken's code if you have hundreds of thousands of directory entries (because a full sort if overkill in this context), but my sequence numbers had to be limited by a smaller upper limit anyway, but using sort made the coding easier.