输出应为aaabbbcccdddeee
,而不是aaa555234dddeee
perl -wle'
map { for (my $i =2; $i <5; $i++) { push @a, $_ } } "a".."e";
print @a
'
aaa555234dddeee
仅在引用/解除引用$_
变量
perl -wle'
map { for (my $i =2; $i <5; $i++) { push @a, ${\$_} } } "a".."e";
print @a
'
aaabbbcccdddeee
这是一个记录在案的错误(或功能)吗?
答案 0 :(得分:5)
在我看来,这是上个月报道的一个错误的实例(但已经存在了12年):https://rt.perl.org/Public/Bug/Display.html?id=123285
它已修复但我不相信任何已发布的版本。