Problems? Is your data what you think it is? | |
PerlMonks |
Re^3: parsing text files continuedby AltBlue (Chaplain) |
on Jul 21, 2008 at 18:51 UTC ( [id://699110]=note: print w/replies, xml ) | Need Help?? |
Hm, at first glance your reply sounds kinda messy, so, I guess providing some more details could help, still trying to avoid doing your homework at the same time (you know, the rules) ;-) First, let's drop some lines from your second record, so we could see what happens when fields are missing: 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 SearchCount,41:0.483233 Now let's rewrite my previous HoH solution and move the "key" (time stamp) *inside* the hash, using an AoH:
$VAR1 = { 'Stamp' => '1/3/2007 12:20:01 AM', 'ClientAdd' => '0.784989', 'CMALoad' => '1.859894', 'SearchDelete' => '2.066482', 'CMASave' => '3.249620', 'CMADelete' => '0.450952', 'Login' => '12.588309', 'ClientDelete' => '0.305768', 'SearchCount' => '20:0.196329', 'SearchDetails' => '6.873061', 'Logout' => '0.823402', 'SearchResults' => '7.418672', 'SearchSave' => '3.616305', 'SearchLoad' => '9.432586' }; $VAR2 = { 'Stamp' => '1/3/2007 12:49:22 AM', 'Login' => '10.958312', 'SearchCount' => '41:0.483233' }; And now, let's print the fields we need from this data as CSV.
1/3/2007 12:20:01 AM,12.588309,7.418672,9.432586,20:0.196329,0.823402 1/3/2007 12:49:22 AM,10.958312,,,41:0.483233, As you may notice, the values that are missing from any records generate empty fields, which should be just fine for CSV Obviously, this lazy toy will trigger "undefined" warnings, but I'm sure you'll know how to handle them in your real/production code. ;-) My apologies if this code looked too messy for you, I'll try adding some spoilers...
Finally, I have to warn you again: DON'T use this code in production, this is just a proof of concept :) 'HTH --
In Section
Seekers of Perl Wisdom
|
|