我是Perl的新手,这件事让我陷入了太长时间......
我想从函数内部转储对象本身的可读表示(我试图调试一些东西,我通过返回调用者期望的数组引用来做到这一点,但是包含一个对象转储而不是正常的人类可读文本)所以在我的包中我有:
use Data::Dumper;
sub somefunctionName{
my $self = shift;
my $d = Dumper($self);
my @retval = ();
push(@retval, $d);
return \@retval;
}
这给了我错误"不能使用字符串("文字对象转储在这里")作为HASH ref,而#34; strict refs"在使用"
我不能为我的生活找出一种让错误消失的方法,无论我如何弄乱反斜杠,以及我在上面所做的事情对我而言,正如每个在线教程所做的那样......但我显然在某处忽略了这一点。
我做错了什么?
答案 0 :(得分:1)
根据文件
- 自卸车(LIST)
返回列表中值的字符串形式,具体取决于下面的配置选项。值将在输出中命名为$ VAR n,其中n是数字后缀。 将返回列表上下文中的字符串列表。
你应该能够做到
@retval = Dumper($self);
return \@retval