观察 Data::Dumper 的输出,CPAN 文档中没有解释说明 符 ( $VAR1
, ""
, )。;
- 的目的是
$VAR1
什么? - 分号的目的是什么?
- 报价的目的是什么?
这是我的输出:
$VAR1 = "Snow";
$VAR1 = "Rain";
$VAR1 = "Sunny";
$VAR1 = "";
观察 Data::Dumper 的输出,CPAN 文档中没有解释说明 符 ( $VAR1
, ""
, )。;
$VAR1
什么?这是我的输出:
$VAR1 = "Snow";
$VAR1 = "Rain";
$VAR1 = "Sunny";
$VAR1 = "";
说明符在说明的第二段中描述:
可以“评估”返回值以获取原始参考结构的相同副本。
因此,您可以获取 Dumper 返回的字符串并运行
my $x = eval $dumped_string;
看起来你有一个数组:
my @arr = ('Snow','Rain','Sunny');
print Dumper(@arr);
当您传递数组时,Dumper 认为您传递了 3 个单独的变量。这就是为什么你会得到:
$VAR1 = 'Snow';
$VAR2 = 'Rain';
$VAR3 = 'Sunny';
为了将数组视为数据结构,您需要将引用传递给数组:
print Dumper(\@arr);
这将产生:
$VAR1 = [
'Snow',
'Rain',
'Sunny'
];
输出表明您传递了对包含 3 个元素的数组的引用。