Hi Bayruds, here is a program to find out how old the log file actually is. It turns out that we are talking about 1 to 9 seconds old. Is that too old for you? If that seems like a reasonable age, I'd suggest you change your "-M" test line to something like:
# see if the file is more than about one hour old if (-M $logfile > 0.042) { ... }
Here's the program. Somebody will probably produce a one-liner to do this now.
#!/usr/bin/perl use strict; use warnings; my $secs_per_day = 60 * 60 * 24; while (my $line = <DATA>) { chomp $line; if ($line =~ m/MTIME:\s+(.*)/) { my $time = $1; my $secs = $time * $secs_per_day; print "$time days is $secs second(s)\n"; } } __END__ Output: 1.15740740740741e-05 days is 1 second(s) 0.000104166666666667 days is 9.00000000000003 second(s) __DATA__ MTIME: 1.15740740740741e-05 MTIME: 0.000104166666666667
In reply to Re^3: -M file test operator
by beable
in thread -M file test operator
by bayruds
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |