1

我有一段代码试图分配返回值,但我看到以下错误。感谢有人可以让我知道为什么会出现此错误。

错误:行中不是 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.
4

1 回答 1

7

这不是您实际运行以获得该错误的代码。在您的实际代码中,$tip$tip->{'tock'}->[0]已定义但不包含对哈希的引用。打印出来看看是哪一个。

转储您的数据结构以找出它实际上是什么可能很有用。

use Data::Dumper;
print(Dumper($tip));
于 2013-01-12T04:57:01.913 回答