Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re: Sequentially numbering output files rather than overwriting an existing file

by Laurent_R (Canon)
on Jan 08, 2014 at 23:27 UTC ( [id://1069879]=note: print w/replies, xml ) Need Help??


in reply to Sequentially numbering output files rather than overwriting an existing file

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.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1069879]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2024-03-29 11:26 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found