in reply to Reading log file for current date
#!/usr/bin/env perl use warnings; use strict; my $today = get_cur_time(); while (<DATA>) { if (/API call error/) { my ($date, $time, $suffix) = split; $date =~ s/\[//; $suffix =~ s/]//; if ($date eq $today) { print "Error occurred: date=$date, time=$time $suffix\n"; } } } exit; sub get_cur_time { my ($Day, $Month, $Year) = (localtime(time))[3..6]; $Year += 1900; $Month = sprintf '%02d', $Month + 1; $Day = sprintf '%02d', $Day; return "$Month/$Day/$Year"; } # Example: Log File Line Containing Date __DATA__ [01/25/2008 4:33 AM] foo [01/25/2008 5:33 AM] bar [01/25/2008 10:01 AM] API call error [01/25/2008 11:55 PM] baz [01/26/2008 10:01 AM] API call error
This prints out:
Error occurred: date=01/25/2008, time=10:01 AM
|
|---|