in reply to rename files with mtime
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;
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: rename files with mtime
by grinder (Bishop) on Feb 15, 2009 at 10:00 UTC |