【发布时间】:2014-10-17 11:10:31
【问题描述】:
我想遍历哈希引用并获取键(如果存在),但我想要的键位于哈希引用的第二级。我希望能够为拥有它的散列引用的所有第一级键获取此键
例子:
my $total = 0;
foreach my $student (keys $students) {
if ( exists $student->{???}->{points} ) {
$total += $student->{points};
}
}
return $total;
我遇到的问题是我想“不在乎”$student->{???} 的值是什么,只是想为它找到{points}
【问题讨论】:
-
为什么要结束这个问题,这不是调试,而是要理解 perl 中的哈希循环。
-
只遍历二级哈希有什么问题?
-
为什么不:
if ( exists $students->{$student}->{points} ) {? -
foreach my $student (keys %{$students}){ -
因为键
%$students如果你有一个 hashref 而不是 hash...