in reply to Re: Add timestamp to file being copied.
in thread Add timestamp to file being copied.

my $newfilename = "$filenamearray[0]" . "-" . $hr . ":" . $min . ":" . + $sec . "\." . $filenamearray[1];

In such cases, I personally prefer interpolation over concatenation:

my $newfilename = "$filenamearray[0]-$hr:$min:$sec.$filenamearray[1]";

Appears less cluttered to my eyes (YMMV).  As there's nothing special about either '-', '.' or (single) ':' in double quoted strings, and they can't be part of variable names, you can write them just as is.

Or maybe use sprintf() to get regular zero-padded 2-digit format:

my $newfilename = sprintf "%s-%02d:%02d:%02d.%s", $filenamearray[0], $ +hr,$min,$sec, $filenamearray[1];

Replies are listed 'Best First'.
Re^3: Add timestamp to file being copied.
by Karger78 (Beadle) on Jun 09, 2009 at 13:19 UTC
    Hello all, Thanks for suggestions. Let me give it a try and see.
      Hello, Thanks for the help. I decided to go with the for loop way as it seems to work nicely. I made some changes as the time was a bit confusing however date seem to be a bit better on the eye's. I just relized that I also need to deal with .zip.meta files aswell. How could I change this so, if it's .zip then it renames it or if it's .zip.meta that it also renames the files to the time stamp aswell?
      foreach my $upload (@uploads) { my $newName = $upload; $newName =~ s/\.zip$/-${mday}-${mon}-${year}.zip/; copy ($logSite . ${upload}, $localCpPath . $newName)or die "F +ailed to copy"; print "File $upload has been copied over and renamed $newName +\n"; $count++ }