Ram*_*Ram 1 perl perl-hash perl-data-structures
my %PlannedPerWeek = (
September => {
Week1 => [80, 23, 199, 45, 19, 36],
Week2 => [78, 21, 195, 43, 18, 36],
Week3 => [76, 19, 191, 41, 17, 36],
Week4 => [74, 17, 187, 39, 16, 36],
}
);
Run Code Online (Sandbox Code Playgroud)
我在perl prog中有上面的数组哈希哈希值.如何从上面的数据结构中访问元素'199'.
sim*_*que 12
这很简单.第一个是哈希,所以你不需要取消引用它.数据结构中的每个后续"容器"都是引用,因此您可以使用->运算符取消引用该结构.大括号内的东西是{}散列(键/值对)引用,需要curlies到deref,而方括号内的东西[]是数组引用,再次需要方括号doderef.
现在它真的只是将事物排成一行并计算到3:
print $PlannedPerWeek{'September'}->{'Week1'}->[2];
^---- 3rd array ref element
^--------------- hashref key 'Week1'
^----------------------------- hash key 'September'
Run Code Online (Sandbox Code Playgroud)
你也可以省略箭头然后去:
print $PlannedPerWeek{'September'}{'Week3'}[2];
Run Code Online (Sandbox Code Playgroud)
你应该阅读perlreftut,其中说:
在两个下标之间,箭头是可选的.