There's more than one way to do things | |
PerlMonks |
How do I get a file's timestamp in perl?by faq_monk (Initiate) |
on Oct 13, 1999 at 03:42 UTC ( [id://808]=perlfaq nodetype: print w/replies, xml ) | Need Help?? |
Current Perl documentation can be found at perldoc.perl.org. Here is our local, out-dated (pre-5.6) version:
If you want to retrieve the time at which the file was last read, written,
or had its meta-data (owner, etc) changed, you use the -M,
-A, or -C filetest operations as documented in the perlfunc manpage. These retrieve the age of the file (measured against the start-time of your program) in days as a floating point number. To retrieve the ``raw'' time in seconds since the epoch, you would call the stat function, then use
Here's an example:
$write_secs = (stat($file))[9]; printf "file %s updated at %s\n", $file, scalar localtime($write_secs); If you prefer something more legible, use the File::stat module (part of the standard distribution in version 5.004 and later):
use File::stat; use Time::localtime; $date_string = ctime(stat($file)->mtime); print "file $file updated at $date_string\n"; Error checking is left as an exercise for the reader.
|
|