in reply to Parsing file in Perl post processing

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.