Perl数据转储说明符说明

时间:2018-09-27 19:34:22

标签: perl data-dumper

观察Data :: Dumper的输出,在CPAN文档中未说明指定符($VAR1"";)。

  1. $VAR1的用途是什么?
  2. 分号的目的是什么?
  3. 报价的目的是什么?

这是我的输出:

$VAR1 = "Snow";
$VAR1 = "Rain";
$VAR1 = "Sunny";
$VAR1 = "";

2 个答案:

答案 0 :(得分:3)

说明符在说明的第二段中描述:

  

可以对返回值进行“评估”,以获取相同的副本。       原始参考结构。

因此,您可以使用Dumper返回的字符串并运行

  my $ x = eval $ dumped_string;
 

答案 1 :(得分:-1)

好像您有一个数组:

my @arr = ('Snow','Rain','Sunny');
print Dumper(@arr);

当您传递数组时,Dumper认为您传递了3个单独的变量。这就是为什么您得到:

$VAR1 = 'Snow';
$VAR2 = 'Rain';
$VAR3 = 'Sunny';

为了将数组视为数据结构,您需要将引用传递给数组:

print Dumper(\@arr);

这将产生:

$VAR1 = [
          'Snow',
          'Rain',
          'Sunny'
        ];

输出表明您已将引用传递给具有3个元素的数组。