This seems to be a very strange file in the first place, which will make it quite hard to parce successfully every time and every iteration.
ptum definately has it right in that we need a little more explenation of the rules of the data that will be in the file.
Given:
8=FIX.4.29=040435=8
How do we know that
9=0404 and not
9=04043? For instance, if the pattern is
/\(d{1,2}=)/ always keep
$1 and assume that everything else must be associated with the previous pattern?
It's hard to be certain without either better rules, or a better data source ;) Try giving as much information about the file as you can think of (and are allowed to, perhaps) and I am sure someone here will be able to help out further.
---hA||ta----
print map{$_.' '}grep{/\w+/}@{[reverse(qw{Perl Code})]} or die while ( 'trying' );