Я предполагаю, что вы говорите "опции" там, где вы имеете в виду "ХЭШ"?
Хэши хранят только скаляры, а не другие хэши;каждое значение% HASH является ссылкой на хэш, которая должна быть разыменована, поэтому ваш внутренний цикл должен быть:
foreach my $inner (keys(%{ $HASH{$key} })
или:
my %HASH = ('first'=>{'A'=>50, 'B'=>40, 'C'=>30},
'second'=>{'A'=>-30, 'B'=>-15, 'C'=>9});
foreach my $key (keys(%HASH))
{
my $innerhash = $HASH{$key};
foreach my $inner (keys(%$innerhash))
{
print "Match: ".$otherhash{$key}->{$inner}." ".$innerhash->{$inner};
}
}