<28 Jan 2014 00:08:24> 00001 startmessage1 <28 Jan 2014 00:08:24>00001 msg1 <28 Jan 2014 00:08:24>00001 msg1 <28 Jan 2014 00:08:24>00001 startmessage2 <28 Jan 2014 00:08:25>00001 msg2 <28 Jan 2014 00:08:25>00001 msg2 <28 Jan 2014 00:08:25>00001 msg2 <28 Jan 2014 00:08:25>00001 msg2 <28 Jan 2014 00:08:25>00001 msg2 <28 Jan 2014 00:08:26>00001 msg2 <28 Jan 2014 00:08:26>00001 Endmessage2 <28 Jan 2014 00:08:26>00001 msg1 <28 Jan 2014 00:08:26>00001 msg1 <28 Jan 2014 00:08:27>00001 startmessage3 <28 Jan 2014 00:08:27>00001 msg3 <28 Jan 2014 00:08:28>00001 msg1 <28 Jan 2014 00:08:28>00001 msg1 <28 Jan 2014 00:08:30>00001 Endmessage1 <28 Jan 2014 00:08:31>00001 msg3 <28 Jan 2014 00:08:31>00001 msg3 <28 Jan 2014 00:08:31>00001 msg3 <28 Jan 2014 00:08:31>00001 Endmessage3 #### 28 Jan 2014 00:08:24 |startmessage1 |Endmessage1 |00001| 6 seconds 28 Jan 2014 00:08:24 |startmessage2 |Endmessage2 |00001| 2 seconds #### print 'THREAD ID,LOG DETAILS'."\n"; foreach my $filename (glob("$dir/*.out")) { open(my $fh, "<", $filename) or die "Could not open '$filename'\n"; while ($line = <$fh>) { my $i=2; chomp($line); if($line=~ $startmsg[$i]) { chomp ($line); my $threadid=$line; $threadid =~ s!(\d*)\s*.*!$1!; my $startdetails=$line; $startdetails =~ s!(\d*)\s*(.*)!$2!; chomp($threadid); print "$threadid,$startdetails \n"; my $flag = 'False'; OUTER: while ($line = <$fh>) { if ($line=~ m/$threadid/) if($line=~ $endmsg[$i]) { chomp ($line); my $enddetails=$line; $enddetails =~ s!(\d*)\s*(.*)!$2!; print "$threadid,$enddetails\n"; $flag='True'; last OUTER; } } } } } close($fh); }