Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling

Re: How to compare hash values within the same hash?

by roboticus (Chancellor)
on Sep 24, 2013 at 23:58 UTC ( #1055569=note: print w/replies, xml ) Need Help??

in reply to How to compare hash values within the same hash?


I like to invert the hash for things like this. This way, you get a list of the keys for each value:

$ cat #!/usr/bin/perl my %hash = (key1=>10,key2=>10,key3=>3,key4=>5,key5=>10); my %invhash; while (my ($k,$v) = each %hash) { push @{$invhash{$v}}, $k; } for my $v (sort {$a<=>$b} keys %invhash) { print "$v cnt=", scalar(@{$invhash{$v}}), " keys=",join(", ",@{$invhash{$v}}), "\n"; } $ perl 3 cnt=1 keys=key3 5 cnt=1 keys=key4 10 cnt=3 keys=key5, key2, key1

But if you don't find the list of keys useful, or if there's too much data, just incrementing a counter as you suggest will do the job.


When your only tool is a hammer, all problems look like your thumb.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1055569]
[Discipulus]: ah was Kink of Bongo 1992..
[1nickt]: choroba name of band? youtube link? MySpace link?
[Your Mother]: I like Manu Chao.
[Your Mother]: I like this one quite well, https://www. v=rSEUH4KRfN8
[choroba]: Půlnoční Marie (which means Midnight Mary)
[choroba]: but the band is practically dead. We rehearse once in a year, and perform with the same frequency
[ambrus]: `quote
[ambrus]: sorry, typed in the wrong box
[LanX]: Your mother: je ne t'aime plus! ;)
[choroba]: seems lispy

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (11)
As of 2017-03-24 12:24 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (301 votes). Check out past polls.