sub show_when_last { my $file = shift @_; my ($atime, $mtime) = (stat ($file) )[8,9]; my $whenstring = "File: $file\n"; my %filestats = (Accessed => $atime, Modified => $mtime); my ( $modsecs, $days, $hours, $mins, $secs ); print "TIME " , localtime($atime) , "\n"; while( my ($term, $ftime) = each %filestats ) { $modsecs = (time - $ftime); # mod time in epoch secs. $days = $modsecs / 86400; # secs/day $modsecs %= 86400; # days remainder $hours = $modsecs / 3600; # secs/hour $modsecs %= 3600; # hours remainder $mins = $modsecs / 60; # secs/min $secs = $modsecs % 60; # remaining secs $whenstring .= sprintf ("$term: %02d days, %02d hours, %02d minutes, and %02d seconds ago.\n", $days, $hours, $mins, $secs ); } print "$whenstring\n"; } #### TIME 5025151021092680 File: /home/finload/load/data//GMTKFUTPDV0120090309.TXT Accessed: 00 days, 02 hours, 44 minutes, and 37 seconds ago. Modified: 00 days, 02 hours, 44 minutes, and 37 seconds ago.