Set the modification and/or creation time of a file using Perl

After using the Net::FTP module to copy files locally, I'd like to set the time and date of creation/modification to the same as that on the server.  I don't believe there's an option to do so using the Net::FTP module, so I'd like to manually set it after the transfer.  Any suggestions?
kestelootAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
gripeConnect With a Mentor Commented:
You can use the utime() function to modify creation times after your transfer and use the 'mdtm' method (from Net::FTP) to capture the mtime of the file before the transfer.

Example:

#!/usr/bin/perl

use warnings;
use strict;
use Net::FTP;

my $ftp = Net::FTP->new('ftp.host.com', Debug => 1)
    or die "Could not connect: $@";

$ftp->login("user", "password")
        or die "Could not login ", $ftp->message;

my $mtime = $ftp->mdtm("your.file.txt");
print $mtime;

$ftp->get("your.file.txt");
utime $mtime, $mtime, 'your.file.txt';
 
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.