$ _的奇怪值/行为

时间:2014-12-26 18:59:55

标签: perl

输出应为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

这是一个记录在案的错误(或功能)吗?

1 个答案:

答案 0 :(得分:5)

在我看来,这是上个月报道的一个错误的实例(但已经存在了12年):https://rt.perl.org/Public/Bug/Display.html?id=123285

它已修复但我不相信任何已发布的版本。