sub Msg
{
my $line = shift;
my ($pf,$fixFields) = split(/received:|Sent:/, $line);
%fixMsg;
%fixMsg = split(/[,=]/, $fixFields);
@fixMsg{('_time_', '_mi_', '_fixsession_')} = (split(/\|/, $pf))[2
+,3,5];
return \%fixMsg;
}
open file,"abc.txt"
while(<file>)
{
$msg=pfUtils::Msg($_);
foreach my $key (%{$msg})
{
if (!($key eq _mi_|$key eq _fixsession_|$key eq _time_|$msg->{
+$key} eq ''))
{
printf "\n\t%20s (%3d) = %s ", $code,$key,$value;
}
}
}
close file;
File "abc.txt" contains the following:
^|server |13:20:52.423762|pht0211j-hello|DebugLow|NAQ|PXXXX thread
+started. Thread ID=-1349444688.|<>
^|Server |13:20:52.425505|pht0211j-hello|DebugLow|Sian01|Sian01 Sen
+t: 8=FIX.4.2,9=65,35=A,34=1,49=FBCO20,56=CMS,52=20080111-18:20:52,43=
+N,98=0,108=60,10=133|<>
^|Server |13:20:52.425602|pht0211j-hello|InfoGeneral|Sian01|SiacCon
+n001 Logon : 8=FIX.4.2,9=65,35=A,34=1,49=FBCO20,56=CMS,52=20080111-18
+:20:52, 43=N,98=0,108=60,10=133|<>
^|server |13:20:52.647996|pht0211j-hello|InfoGeneral|abc|Starting A
+BC link: Abxxx|<>