我想正确理解Perl中的哈希值.我不得不间歇性地使用Perl很长一段时间,而且大多数时候我都需要这样做,它主要与文本处理有关.
每次,我都要处理哈希,它会搞砸.我觉得哈希的语法非常神秘
哈希和哈希引用的好解释,它们的差异,当它们被要求等时将非常感激.
我正在和一些使用哈希引用的Perl搏斗.
最后,事实证明我的问题是这一行:
$myhash{$key} |= {};
Run Code Online (Sandbox Code Playgroud)
也就是说,"给$ myhash {$ key}一个对空哈希的引用,除非它已经有一个值".
然而,解除引用并尝试将其用作哈希引用会导致使用字符串作为哈希引用的解释器错误.
将其更改为:
if( ! exists $myhash{$key}) {
$myhash{$key} = {};
}
Run Code Online (Sandbox Code Playgroud)
......让事情奏效.
所以我没有问题.但我很好奇发生了什么事.
谁能解释一下?