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.