Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Optimize file renaming.

by blazar (Canon)
on May 26, 2005 at 17:13 UTC ( [id://460766]=note: print w/replies, xml ) Need Help??


in reply to Optimize file renaming.

update: I made the changes that I picked up, and for the moment, I have this. Thanks for the lessons, monks.
All in all looks fine. Only
$_ =~ s/(\d+)/sprintf("%03d",$1)/e;
One good point of using $_ is that so many built in functions and operators default to it, so that you can write
s/(\d+)/sprintf("%03d",$1)/e;
instead. Now, once you get used to Perl slang, this will become more intuitive and readable than the other way round. OTOH you may have chosen to do
(my $newname=$_) =~ s/(\d+)/sprintf("%03d",$1)/e;
instead.
rename($oldname,$_) unless $oldname eq $_;
Now, this is not strictly necessary:
touch zizze; perl -le 'rename "zizze", "zizze" or die $!'
Of course it helps to avoid an unnecessary system call. But then again if it is a matter of a quick hack, I wouldn't do it. All in all I don't know if it is convenient efficiency-wise and wether it is or not depends strongly on the actual filenames. One could try to do a benchmark, but I'm not doing it now as my lazyness is currently overwhelming my hubris (BTW: see also Modules that significantly contribute to Laziness and Modules that significantly contribute to {Impatience,Hubris} - free ad! ;-)

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (2)
As of 2025-05-12 02:56 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.