私のプロジェクトで使用されている 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 トリックですか?
ありがとう!