如何取消引用 Data::Dumper 输出?
How do I dereference Data::Dumper output?
我总是忘记怎么做。
我有这个 Perl 代码:
打印转储程序($obj);
这是我的 Data::Dumper 输出:
$VAR1 = {
'classname' => 'Template',
'oid' => 2,
'pid' => '50'
};
但是当我做类似...
print LOGGER "classname is [\n". $obj{'classname'} . "]\n";
...我收到此错误...
Use of uninitialized value in concatenation (.) or string at
我做错了什么?
你应该用过$obj->{'classname'}
。没有箭头,$obj{'classname'}
访问 %obj
哈希而不是 $obj
.
中的哈希引用
这种错误会被 use strict;
捕获,所以你真正的错误不是那样做。
我总是忘记怎么做。
我有这个 Perl 代码:
打印转储程序($obj);
这是我的 Data::Dumper 输出:
$VAR1 = {
'classname' => 'Template',
'oid' => 2,
'pid' => '50'
};
但是当我做类似...
print LOGGER "classname is [\n". $obj{'classname'} . "]\n";
...我收到此错误...
Use of uninitialized value in concatenation (.) or string at
我做错了什么?
你应该用过$obj->{'classname'}
。没有箭头,$obj{'classname'}
访问 %obj
哈希而不是 $obj
.
这种错误会被 use strict;
捕获,所以你真正的错误不是那样做。