perl - 错误 : Not a HASH reference

标签 perl hash

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

错误:行不是 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/

相关文章:

perl - switch 语句和 if 语句之间的差异

perl - For 循环和词法范围的变量

python - Python 和 Perl 解决方案对 Wide Finder 挑战的比较

facebook - Perl - 身份验证图 API 循环

regex - Perl 替换嵌套 block 正则表达式

node.js - 哈希字符串与哈希 UInt8Array

perl - 如何在Perl中将两个数组分配给哈希?

c++ - 用 C++ 实现基本 MD5 算法

PHP:将 MD5 哈希应用升级为 bycript。这安全吗?

perl - 如何从嵌套级别未知的嵌套哈希中提取值?