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

Re: Re: Counting lines by content

by l2kashe (Deacon)
on Oct 09, 2002 at 13:47 UTC ( [id://203919]=note: print w/replies, xml ) Need Help??


in reply to Re: Counting lines by content
in thread Counting lines by content

A hash is the right answer, but I believe that he is looking for a hash of hashes....
#!/usr/bin/perl open(IN,"/some/file") || die "Cant open file\nReason: $!\n"; while (<IN>) { chomp($line = $_); ($first,$second) = (split(/:/, $line))[1,2]; $fruit{$first}{count}++; $fruit{$first}{$second}++; } close(IN); foreach $k (sort(keys(%fruit))) { print "$k $fruit{$k}{count}\n"; }
The reason I used count as well, is so A) I dont have to loop to figure out what my total count for $first is, and B) I also can test for $fruit{$k}{blah} and determine if there were duplicates. You could add the test within the while loop.. I.e test for $fruit{$first}{$second} and if it exists warn or something, else increment it :)... Have fun /* * And the Creator, against his better judgement, wrote man.c */

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://203919]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others lurking in the Monastery: (2)
As of 2024-04-26 00:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found