
yellowman
Novice
Mar 2, 2006, 5:52 AM
Post #12 of 16
(7154 views)
|
Re: [KevinR] Problems with sorting a record
[In reply to]
|
Can't Post
|
|
Well, It sort of works. It looks like it loops through and prints the data twice. I've tried it a couple different ways. What's odd is that it prints the first set of data out of order, then it prints the second set of data grouped just fine but the formatting is messed up. I'm looking over the code right now (I'm a little slow, I need the book), but if anything hits you give me a hint. Below is what it all looks like.... if (open(FIRE, "$path")){ my %collated = (); while(my $line = <FIRE>) { chomp $line; my $key = (split(/\s+/,$line))[3]; push @{$collated{$key}},$line; } foreach my $data (keys %collated) { join("\n",@{$collated{$data}}); push @master,@{$collated{$data}}; } } &results2(@master); } sub results2 { # print "$_\n" for @_; my @test = @_; print (@test); } Here is what the output file looks like... 01/09 08:44 accept sc291580.gs.myclarris.net sd-mscq2.gcsd.clarris.com 01/09 08:44 accept sc291580.gs.myclarris.net sd-mscq2.gcsd.clarris.com echo-request/icmp 01/09 08:44 accept sc291580.gs.myclarris.net sd-mscq2.gcsd.clarris.com http/tcp 01/09 08:44 accept sc291580.gs.myclarris.net sd-mscq2.gcsd.clarris.com http/tcp 01/09 08:44 accept sc291580.gs.myclarris.net sd-mscq2.gcsd.clarris.com https/tcp 01/09 08:44 accept sc291580.gs.myclarris.net sd-mscq2.gcsd.clarris.com https/tcp 01/09 09:30 accept rtr-mpls-1.net.clarris.com sd-mscq2.gcsd.clarris.com echo-request/icmp 01/09 09:30 accept rtr-mpls-1.net.clarris.com sd-mscq2.gcsd.clarris.com https/tcp 01/09 09:32 accept rtr-mpls-1.net.clarris.com sd-mscq2.gcsd.clarris.com https/tcp 01/09 13:05 accept sc277099.gs.myclarris.net sd-mscq2.gcsd.clarris.com https/tcp 01/09 13:05 accept sc277099.gs.myclarris.net sd-mscq2.gcsd.clarris.com https/tcp 01/10 14:22 accept rtr-mpls-1.net.clarris.com sd-mscq2.gcsd.clarris.com echo-request/icmp 01/10 14:22 accept rtr-mpls-1.net.clarris.com sd-mscq2.gcsd.clarris.com https/tcp 01/11 15:55 accept 158.147.113.67 sd-mscq2.gcsd.clarris.com http/tcp 01/11 15:55 accept 158.147.113.67 sd-mscq2.gcsd.clarris.com https/tcp 01/11 17:35 accept dintsu01.northgrum.com sd-mscq2.gcsd.clarris.com https/tcp 01/11 17:35 accept dintsu01.northgrum.com sd-mscq2.gcsd.clarris.com https/tcp 01/13 15:37 accept sc277099.gs.myclarris.net sd-mscq2.gcsd.clarris.com http/tcp 01/13 15:37 accept sc277099.gs.myclarris.net sd-mscq2.gcsd.clarris.com nbsession/tcp 01/15 11:36 accept 158.147.113.67 sd-mscc2.gcsd.clarris.com nbname/udp 01/15 11:37 accept 158.147.113.67 sd-mscc2.gcsd.clarris.com http/tcp 01/11 17:35 accept dintsu01.northgrum.com sd-mscq2.gcsd.clarris.com https/tcp 01/11 17:35 accept dintsu01.northgrum.com sd-mscq2.gcsd.clarris.com https/tcp 01/09 08:44 accept sc291580.gs.myclarris.net sd-mscq2.gcsd.clarris.com https/tcp 01/09 08:44 accept sc291580.gs.myclarris.net sd-mscq2.gcsd.clarris.com http/tcp 01/09 08:44 accept sc291580.gs.myclarris.net sd-mscq2.gcsd.clarris.com echo-request/icmp01/09 08:44 accept sc291580.gs.myclarris.net sd-mscq2.gcsd.clarris.com 01/09 08:44 accept sc291580.gs.myclarris.net sd-mscq2.gcsd.clarris.com https/tcp 01/09 08:44 accept sc291580.gs.myclarris.net sd-mscq2.gcsd.clarris.com http/tcp 01/09 13:05 accept sc277099.gs.myclarris.net sd-mscq2.gcsd.clarris.com https/tcp 01/09 13:05 accept sc277099.gs.myclarris.net sd-mscq2.gcsd.clarris.com https/tcp 01/13 15:37 accept sc277099.gs.myclarris.net sd-mscq2.gcsd.clarris.com nbsession/tcp 01/13 15:37 accept sc277099.gs.myclarris.net sd-mscq2.gcsd.clarris.com http/tcp 01/09 09:30 accept rtr-mpls-1.net.clarris.com sd-mscq2.gcsd.clarris.com https/tcp 01/09 09:30 accept rtr-mpls-1.net.clarris.com sd-mscq2.gcsd.clarris.com echo-request/icmp01/09 09:32 accept rtr-mpls-1.net.clarris.com sd-mscq2.gcsd.clarris.com https/tcp 01/10 14:22 accept rtr-mpls-1.net.clarris.com sd-mscq2.gcsd.clarris.com https/tcp 01/10 14:22 accept rtr-mpls-1.net.clarris.com sd-mscq2.gcsd.clarris.com echo-request/icmp01/11 15:55 accept 158.147.113.67 sd-mscq2.gcsd.clarris.com http/tcp 01/11 15:55 accept 158.147.113.67 sd-mscq2.gcsd.clarris.com https/tcp 01/15 11:36 accept 158.147.113.67 sd-mscc2.gcsd.clarris.com nbname/udp 01/15 11:37 accept 158.147.113.67 sd-mscc2.gcsd.clarris.com http/tcp
|