use File::Copy; my ($sec, $min, $hour) = localtime(); foreach my $upload (@uploads) { my $newName = $upload; $newName =~ s/\.zip$/${hour}:${min}:{sec}.zip/; copy ($logSite . ${upload}, $localCpPath . $newName) or die "Failed to copy "$upload"; print "File $upload has been copied over and renamed $newName\n"; }