Here's my try, You may adjust it as you want
#!/usr/bin/perl
use strict;
use warnings;
my %data;
my $CURRENT_DATE = '';
while (<DATA>) {
chomp;
if ($_!~m/^\[(Sat|Sun|Mon|Tue|Wed|Fri)/ ) {
## keep adding lines into the same array element
${ $data{$CURRENT_DATE} }[-1] .= $_;
}else{
# We've got a new date?
my ($date) = $_=~m/^\[(.*?)\]/;
$CURRENT_DATE = $date;
# if we have got that key exists, then we'll push elements
if (exists $data{$CURRENT_DATE} ) {
push @{ $data{$CURRENT_DATE} } , $_;
}else{
# otherwise, we'll create a key that have array as its val
+ue
$data{$CURRENT_DATE} = [$_];
}
}
}
print "There were ", scalar @{ $data{'Wed Aug 04 00:10:40.666 2010'} }
+ , " Errors on Wed Aug 04 00:10:40.666 2010\n";
__DATA__
[Wed Aug 04 00:10:40.591 2010] [DEBUG] [TP-Processor19, time=128089504
+0587, uri=/ibdsupport/workflow/webapp/workflow/coordinator/gotoCoordi
+natorNew.cb2] [com.boylesoftware.cb2.BLOBJT.cache]: [208973459] Retri
+eve cached object 'segmentProp.map' for segment 142
[Wed Aug 04 00:10:40.591 2010] [DEBUG] [TP-Processor19, time=128089504
+0587, uri=/ibdsupport/workflow/webapp/workflow/coordinator/gotoCoordi
+natorNew.cb2] [com.boylesoftware.cb2.BLOBJT.cache]: [208973459] Retri
+eve cached object 'segmentProp.map' for segment 142
[Wed Aug 04 00:10:40.666 2010] [ERROR] [TP-Processor19, time=128089504
+0587, uri=/ibdsupport/workflow/webapp/workflow/coordinator/gotoCoordi
+natorNew.cb2] [com.boylesoftware.cb2.DAOBJT]: [208973534] Got an erro
+r executing query "fetchJobQueueTime" chunk "5".
com.boylesoftware.cb2.BLException: Database error in the DAO.
at com.boylesoftware.cb2.DAO.executeUpdate_Internal(DAO.java:248
+3) [cb2ms.jar:na]
at com.boylesoftware.cb2.DAO.executeNamedQuery(DAO.java:2634)
+[cb2ms.jar:na]
at com.boylesoftware.cb2.DAO.fetch_Internal(DAO.java:2524) [cb
+2ms.jar:na]
at com.boylesoftware.cb2.DAO.fetchWithNamedParams(DAO.java:272
+1) [cb2ms.jar:na]
at com.boylesoftware.cb2.DAO.fetchWithNamedParams(DAO.java:382
+6) [cb2ms.jar:na]
at com.somecompany.insidetrack.tt.project.ProjConsoleBLO.fetch
+JobQueueTime(ProjConsoleBLO.java:527) [ProjConsoleBLO.class:na]
at com.somecompany.insidetrack.tt.presentation.workflow.JobOve
+rviewListPE.init(JobOverviewListPE.java:221) [JobOverviewListPE.class
+:na]
at com.boylesoftware.cb2.presentation.servlet.ShowPageAction.e
+xecute(ShowPageAction.java:141) [cb2ms.jar:na]
at com.boylesoftware.cb2.presentation.servlet.CB2Action.execut
+e(CB2Action.java:205) [cb2ms.jar:na]
at org.apache.struts.action.RequestProcessor.processActionPerf
+orm(Unknown Source) [struts.jar:1.1]
at java.lang.Thread.run(Thread.java:619) [na:1.6.0_16]
Caused by: msjava.dbpool.DBPoolSQLException: The column prefix '#projJ
+ob' does not match with a table name or alias name used in the query.
+ Either the table is not specified in the FROM clause or it has a cor
+relation name which must be used instead.
(DataSource: insidetrack-db, Type: SYBASE)
[Wed Aug 04 00:10:40.666 2010] [DEBUG] [TP-Processor19, time=128089504
+0587, uri=/ibdsupport/workflow/webapp/workflow/coordinator/gotoCoordi
+natorNew.cb2] [com.boylesoftware.cb2.DAOBJT]: [208973534] executing c
+hunk "6" with a timeout of 360 seconds