![]() |
|
Keep It Simple, Stupid | |
PerlMonks |
How do I look up a hash element by value?by faq_monk (Initiate) |
on Oct 08, 1999 at 00:20 UTC ( [id://624]=perlfaq nodetype: print w/replies, xml ) | Need Help?? |
Current Perl documentation can be found at perldoc.perl.org. Here is our local, out-dated (pre-5.6) version: Create a reverse hash:
%by_value = reverse %by_key; $key = $by_value{$value}; That's not particularly efficient. It would be more space-efficient to use:
while (($key, $value) = each %by_key) { $by_value{$value} = $key; } If your hash could have repeated values, the methods above will only find one of the associated keys. This may or may not worry you.
|
|