1

戻り値を割り当てようとしているコードがありますが、次のエラーが表示されます。誰かが私にこのエラーが発生する理由を教えてくれたら感謝します。

エラー:行にハッシュ参照がありません

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 に答える