Hello, I have following code that I am using to get modification time of a file. But it is not working. Whether I use stat command or -M operator, I am getting error messages like "Use of uninitialized value…" or "Can't call method "mtime" on an undefined value" depending on which method I use. Any suggestions? I am using MAC OS v10.8.5. I swear that the -M option worked yesterday few times but since then it has stopped working. I am flummoxed.
#!/usr/bin/perl use POSIX qw(strftime); use Time::Local; use Time::localtime; use File::stat; use warnings; $CosMovFolder = '/Logs/Movies'; # sorting files based on modification date opendir (DIR, $CosMovFolder); @moviedir=readdir(DIR); #$file1modtime = -M $moviedir[1]; # tried this, not working. sam +e uninitialized value error message closedir(DIR); @moviedir = sort { -M "$CosMovFolder/$a" <=> -M "$CosMovFolder/$b +" } (@moviedir); #sorting files by modification dates $latestfile = $moviedir[1]; print "file is: $latestfile\n"; open (FH,$latestfile); #$diff_mins = (stat($latestfile))[9]; #didn't work, same uninit +ialized value error message my $diff_mins = (stat(FH)->mtime); # Can't call method "mtime" o +n an undefined value error message print $diff_mins,"\n"; close FH;
In reply to Getting modification time in perl not working on my MAC by hary536
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |