#!/usr/bin/perl use strict; use warnings; my %languages = ( "ger" => "german", "ara" => "arabic", "eng" => "english" ); # with the key it is easy to get to the value foreach my $key (keys %languages ) { print "$key <--> $languages{$key}" . "\n"; } # but how do I get key if I only have the value # e.g. I know "german", but how do I get "ger"? foreach my $value (values %languages ) { print "$value <--> ???" . "\n"; }