Perl-Sensitive Sunglasses | |
PerlMonks |
Re: rename files with mtimeby Narveson (Chaplain) |
on Feb 15, 2009 at 03:56 UTC ( [id://743908]=note: print w/replies, xml ) | Need Help?? |
You do realize, I trust, that your program does not rename any files? $file =~ s/\d+/$datestamp/ changes the contents of your variable $file. To use your own example, if $file contains maillog.1.gz and the datestamp is 20090213, then after the substitution $file will contain maillog.20090213.gz. The file on disk, however, is still named maillog.1.gz. You are wise to be printing the outcome of the substitution so that you can review it. Assuming you are satisfied with your printout, how are you going to rename the file? In order to follow the template for rename, which is rename OLDNAME,NEWNAMEyou'll need to declare a second variable. The idiomatic way is (my $new_name = $file) =~ s/\d+/$datestamp/;after which you can say rename $file, $new_name;
In Section
Seekers of Perl Wisdom
|
|