我有一段代码试图分配返回值,但我看到以下错误。如果有人能告诉我为什么会出现此错误,我将不胜感激。
错误:行不是 HASH 引用
sub getid {
my ($a, $b) = @_;
my $id = 1 << $a + 1 << $b;
return $id;
}
my $tip;
$tip->{'tock'}->[0]->{'brick'} = getid(2, 3); <== This is where I am having issue.
最佳答案
这不是您实际运行以获取该错误的代码。在您的实际代码中,定义了 $tip
或 $tip->{'tock'}->[0]
但不包含对哈希的引用。将它们打印出来以找出是哪个。
转储您的数据结构以弄清楚它到底是什么可能很有用。
use Data::Dumper;
print(Dumper($tip));
关于perl - 错误 : Not a HASH reference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14290359/