Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl-Sensitive Sunglasses

hash by reference Issue of getting same sequence issue

by tilak_sai
on Oct 08, 2008 at 11:31 UTC ( #715980=request: print w/replies, xml ) Need Help??

sub Msg { my $line = shift; my ($pf,$fixFields) = split(/received:|Sent:/, $line); my %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; "abc.txt" File contains informationa as below ^|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 Sent: 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|SiacConn001 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 ABC link: Abxxx|<>

Log In?

What's my password?
Create A New User
[ambrus]: Corion: my guess is to first read the start of the file to check what format it is out of two or more possibilities, then rewind it and handle it differently depending on the program
[ambrus]: s/program/format/
[Dumu]: ambrus: it's about testing a file for being multiple possible file formats
[ambrus]: In particular, you might want to detect the encoding of a HTML file from between utf-16 versus ascii-based and encoding given in a META tag.
[ambrus]: Dumu: it should probably be safe to change the encoding if you rewind first with seek $file, 0, 0 first
[Dumu]: ambrus: good guess. I'm trying to contribute to a CPAN module, and the existing tests assume they're looking at text files
[Dumu]: ambrus: thank you. I was seeking afterwards. I'll seek first.
[jedikaiti]: Hello, Dumu!
[Dumu]: hello again jedikaiti! thanks everyone today for being in the monastery!

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (8)
As of 2017-11-20 17:59 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (291 votes). Check out past polls.