Perl 错误:不是哈希引用

Perl 错误:不是哈希引用,perl,hash,Perl,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 havi

我有一段代码试图分配返回值,但我看到以下错误。如果有人能告诉我为什么我会犯这个错误,我将不胜感激

错误:第行不是哈希引用

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.
sub-getid{
我的($a$b)=;

my$id=1[0]->{'brick'}=getid(2,3);这不是您实际运行以获取该错误的代码。在实际代码中,
$tip
$tip->{'tock'}->[0]
已定义,但未保存对哈希的引用。请将它们打印出来,以确定是哪个

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

use Data::Dumper;
print(Dumper($tip));

如果我试图理解如何在perl中工作,为什么会有人给我打负面的分数。我仍然是个傻瓜。你的问题被否决了,因为你提供的代码没有产生你声称的错误。