# assuming you have no duplicate values: my %mapkey = reverse %keymap; sub findCharacterAsKey { my $loebnerLetter = shift; if (exists $mapkey{$lobnerLetter}) { return $mapkey{$lobnerLetter}; } else { warn "Could not resolve '$loebnerLetter'"; } }