如何在Perl中将字符串作为单元素数组引用返回?

时间:2014-05-27 01:59:01

标签: arrays perl

我是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"在使用"

我不能为我的生活找出一种让错误消失的方法,无论我如何弄乱反斜杠,以及我在上面所做的事情对我而言,正如每个在线教程所做的那样......但我显然在某处忽略了这一点。

我做错了什么?

1 个答案:

答案 0 :(得分:1)

根据文件

  
      
  • 自卸车(LIST)

      返回列表中值的字符串形式,具体取决于下面的配置选项。值将在输出中命名为$ VAR n,其中n是数字后缀。 将返回列表上下文中的字符串列表。
  •   

你应该能够做到

@retval = Dumper($self);
return \@retval