【发布时间】:2014-08-07 18:29:35
【问题描述】:
有人可以解释以下输出吗:
为什么有两个 $VAR1 变量,如果它是具有更多元素的数组,那么 $VAR2 在哪里?
$ echo -e "a:b:c\n" | perl -lne 'use Data::Dumper; @a = split(":", $_); print Dumper \@a'
$VAR1 = [
'a',
'b',
'c'
];
$VAR1 = [];
上面的 Seme 输出而不是引用是打印的数组,没有像以前那样的其他元素。
$ echo -e "a:b:c\n" | perl -lne 'use Data::Dumper; @a = split(":", $_); print Dumper @a'
$VAR1 = 'a';
$VAR2 = 'b';
$VAR3 = 'c';
“undef”从何而来?为什么又是奇怪的 $VAR1?
$ echo -e "a:b:c\n" | perl -lne 'use Data::Dumper; @a = split(":", $_); $b = $a[0]; print Dumper $b'
$VAR1 = 'a';
$VAR1 = undef;
【问题讨论】:
-
附注:您可以将第一个 perl 语句简化为
perl -MData::Dumper -F: -lane 'print Dumper \@F' -
谢谢,这是学者的错误