in reply to parsing text files continued
How do you need your output to be?
update assuming you wnat to take everything between two dates and put all into one line and everything separated by commas, I came up with this example:
use strict; use warnings; my $text; while(<DATA>) { chomp($_); if($_ =~ /\d{1,2}\/\d{1,2}\/\d{4}/) { $text .= "\n" unless $. == 1; $text .= $_; } else { $text .= ",".$_; } } print $text; __DATA__ 1/3/2007 12:20:01 AM Login,12.588309 SearchLoad,9.432586 SearchCount,20:0.196329 SearchResults,7.418672 SearchSave,3.616305 SearchDelete,2.066482 SearchDetails,6.873061 ClientAdd,0.784989 CMALoad,1.859894 CMASave,3.249620 CMADelete,0.450952 ClientDelete,0.305768 Logout,0.823402 1/3/2007 12:49:22 AM Login,10.958312 SearchLoad,13.644527 SearchCount,41:0.483233 SearchResults,7.027840 SearchSave,4.222601 SearchDelete,0.305821 SearchDetails,7.443877 ClientAdd,1.552915 CMALoad,1.202711 CMASave,5.285398 CMADelete,0.233119 ClientDelete,0.425521 Logout,0.560862
outputs
1/3/2007 12:20:01 AM,Login,12.588309,SearchLoad,9.432586,SearchCount,2 +0:0.196329,SearchResults,7.418672,SearchSave,3.616305,SearchDelete,2. +066482,SearchDetails,6.873061,ClientAdd,0.784989,CMALoad,1.859894,CMA +Save,3.249620,CMADelete,0.450952,ClientDelete,0.305768,Logout,0.82340 +2 1/3/2007 12:49:22 AM,Login,10.958312,SearchLoad,13.644527,SearchCount, +41:0.483233,SearchResults,7.027840,SearchSave,4.222601,SearchDelete,0 +.305821,SearchDetails,7.443877,ClientAdd,1.552915,CMALoad,1.202711,CM +ASave,5.285398,CMADelete,0.233119,ClientDelete,0.425521,Logout,0.5608 +62
|
|---|