如何取消引用Data :: Dumper输出?

时间:2015-01-09 22:52:59

标签: perl

我总是忘记怎么做。
我有这个Perl代码:

print Dumper($ 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

我在这里做错了什么?

1 个答案:

答案 0 :(得分:4)

您应该使用$obj->{'classname'}。如果没有箭头,$obj{'classname'}将访问%obj哈希,而不是$obj中的hashref。

这是由use strict;捕获的那种错误,因此您的真正错误不会这样做。