我在项目中使用的 perl 脚本中看到了一段非常奇怪的代码,类似于:
my $arrayRef = [
A => {AA => 11, AAA => 111},
B => {BB => 11, BBB => 111},
];
IMO,它尝试从哈希表构造一个匿名数组。我尝试打印数组元素,这是我得到的:
foreach (@$arrayRef )
{
print;
print "\n";
}
A
HASH(0x1e60220)
B
HASH(0x1e71bd0)
这意味着它将哈希表中的每个元素(键和值)视为匿名数组中的单独元素。但是我真的很困惑他们为什么要将哈希保存到数组中。如果哈希表真的很大,对我来说唯一的好处是节省一些内存。这是一个广泛使用的 perl 技巧吗?
谢谢!