2013-01-12 45 views
-3

我有我試圖分配返回值但我看到下面的錯誤代碼的pieve。欣賞是否有人能讓我知道爲什麼我得到這個錯誤。錯誤:不是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. 
+0

如果我想了解如何讓事情在perl中工作,爲什麼會有人給予否定的印象?我仍然是一個noob。 –

+0

由於您提供的代碼不會產生您聲稱的錯誤,因此您的問題被降低了。 – ikegami

回答

6

散列引用這不是你居然跑到得到這個錯誤代碼。在您的實際代碼中,定義了$tip$tip->{'tock'}->[0],但不包含對散列的引用。打印出來找出哪些。

轉儲您的數據結構以找出它的實際內容可能很有用。

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