Sorry for the delay in writing.
I still can NOT get it DONE. I got today's time and yesterday's time as well ( ie = - 86400)
But i get below error while running the code.
perl auto_date_range.ok.pl
Mar 28 16:56:55
yesterday Mar 27 16:56:55
today Mar 28 16:56:55
Sun Mar 27 16:56:55 2016
Mon Mar 28 16:56:55 2016
Error parsing time at /usr/lib64/perl5/vendor_perl/Time/Piece.pm line 469.
#!/usr/bin/perl
use strict;
use warnings;
#use 5.010;
use Time::Piece;
#use Time::Seconds;
my $format = '%b %e %T';
my $time = Time::Piece->new;
#my $yesterday = $time - ONE_DAY;
my $yesterday = $time - 86400;
print $time->strftime('%b %e %T'),"\n";
#print $time->strftime('%b %e'),"\n";
print "yesterday\t", $yesterday->strftime('%b %e %T'),"\n";
print "today\t", $time->strftime('%b %e %T'),"\n";
print $yesterday,"\n";
print $time,"\n";
#print "yesterday\t", $yesterday,"\n";
#print "today\t", $time,"\n";
##my $start = Time::Piece->strptime('Mar 27', $format);
my $start = Time::Piece->strptime('$yesterday', $format); #this DOES N
+OT work
#my $start = Time::Piece->strptime('Feb 1 10:30:00', $format);
##my $end = Time::Piece->strptime('Mar 28', $format);
my $end = Time::Piece->strptime('$time', $format); #this DOES NOT wo
+rk
#my $end = Time::Piece->strptime('Feb 2 10:30:00', $format);
print "yesterday\t", $yesterday,"\n";
print "today\t", $time,"\n";
open(FILE, "/var/log/maillog") or die "Couldn't open maillog: $!; abor
+ting";
while (<FILE>) {
my ($timestamp) = /(^\w+\s+\d+\s+\d\d:\d\d:\d\d)/;
my $t = Time::Piece->strptime($timestamp, $format);
print if $t >= $start && $t <= $end;
}
close(FILE);
Pls help me to solve this issue
|