Прежде всего, всегда «используйте строгий» в ваших скриптах.У вас было несколько ошибок.см .:
my %geo_location_map = (
US => [ 'US', 'CA' ],
EU => [ 'GB', 'ES' ],
);
my $location= "US" ;
my $goahead = 0;
if (exists $geo_location_map{US} ) {
print "exists";
my @glocation = $geo_location_map{US};
foreach (@glocation) {
if ( $_->[0] eq "$location") {
print "ahead\n";
$goahead=1;
last;
}
}
}
Как сказал Джим Дэвис, у вас есть ссылка на массив annБолее того, некоторые ошибки в скобках, ничего страшного