Home: Perl Programming Help: Frequently Asked Questions:
How do I set a file's timestamp in perl?



Jasmine
Administrator

Jan 26, 2001, 10:28 AM


Views: 3054
How do I set a file's timestamp in perl?

(From the Perl FAQ)

How do I set a file's timestamp in perl?

You use the utime() function documented in utime. By way of example, here's a little program that copies the read and write times from its first argument to all the rest of them.

Code
    if (@ARGV < 2) { 
die "usage: cptimes timestamp_file other_files ...\n";
}
$timestamp = shift;
($atime, $mtime) = (stat($timestamp))[8,9];
utime $atime, $mtime, @ARGV;

Error checking is left as an exercise for the reader.

Note that utime() currently doesn't work correctly with Win95/NT ports. A bug has been reported. Check it carefully before using it on those platforms.