-1

观察 Data::Dumper 的输出,CPAN 文档中没有解释说明 符 ( $VAR1, "", )。;

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

这是我的输出:

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

2 回答 2

3

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

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

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

my $x = eval $dumped_string;
于 2018-09-27T19:36:35.057 回答
-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 个元素的数组的引用。

于 2018-09-27T20:20:52.180 回答