A perl programmer would prefer a HASH to represent the parsed data, rather than an array. Assuming that this is what you want, here is a one-liner to get you started:
>perl -E "my %h = map {split ':',$_} split /\s+/, $ARGV[0];
say qq|$_\t$h{$_}\n| for sort keys %h"
"THREAD_ID:1bf1d698 CDR_TY
40815144127 DEL_TIME:240815144127 OA_ADDR:5.0.OTSDC PRE_TRANS_OA
+:5.0.OTSDC DA_ADDR:1.1.966555696176 PRE_TRANS_DA:1.1.966555696176
+"
The data does have some inconsistencies that are not handled by the regex .. this is just to get you started. You will need to develop the regex to handle the pathological data.
Update:If you run into trouble parsing the pathalogical data, please post the code you tried here, and explain your problems.
Monks here will gladly explain and help correct code, provided you display some effort.
Software efficiency halves every 18 months, thus compensating for Moore's Law.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.