Это должно сработать, хотя мне не совсем понятно, как вы хотели, чтобы «М1» и «М2» сыграли в сценарии:
my(@array) = ( { k1 => "v1", k2 => "v2" }, { K1 => "V1", K2 => "V2" } );
print "$array[0]->{k1}\n";
print "$array[1]->{K2}\n";
Вы делаете свою жизнь более интересной, когдаВы используете разные наборы ключей в разных элементах массива (k1 и k2 против K1 и K2).Это далеко не запрещено, но усложняет обработку.