Beefy Boxes and Bandwidth Generously Provided by pair Networks Joe
We don't bite newbies here... much
 
PerlMonks  

Re: Optimize file renaming.

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

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


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
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.