如果哈希结构如下,我将如何得到宝石的价值?
%HoA =
(
[stones => "ruby"],
[metal => "gold"],
);
我正在尝试使用“print $ HoA-> {stones};”,但不会返回任何值。
答案 0 :(得分:1)
问题是%HoA
的成员是数组,而不是哈希。实际上,你所拥有的是一个带有一个元素的哈希。该元素的关键是对包含两个元素的数组的引用:" stone"和"红宝石"。该元素的值是对包含两个元素的数组的引用:" metal"和"黄金"。
我猜你想要一个包含石头列表,金属列表等的哈希。这样做的方法是:
%HoA =
(
stones => ["ruby"],
metal => ["gold"],
);
现在$ HoA {stones}是对包含单个元素" ruby"的数组的引用。
print @($HoA{stones});
应该给你:
ruby