$countryMap = [ { shortcountry => 'US', country => 'USA', currency => 'USD', }, { shortcountry => 'D', country => 'Germany', currency => 'DM', }, .... ]; #### sub getem { my $data = shift; my $find = shift; my $in = shift; my $return = shift; for (@$data) { if ($_->{$in} eq $find) { return $_->{$return}; } } } #### my $result = getem($countryMap,'US','country','shortcountry');