加入功能不起作用

时间:2012-10-10 11:20:00

标签: perl join

下面的脚本打破了每个' E'然后是一个' E'被添加到每个片段。但我没有得到E' E'附在我的最后一个元素,为什么?

use strict;
use warnings;

my $s = 'ABCDEABCDEABCDEABCDEABCDE';
my @a = split /E(?!P)/, $s;

my $result = join "E,", @a; 
my @final  = split /,/, $result;
print "@final\n";

2 个答案:

答案 0 :(得分:2)

join在连续元素之间加入第一个参数。如果你想添加最后的“E”,你可以简单地做:

$s = 'ABCDEABCDEABCDEABCDEABCDE';
@a = split(/E(?!P)/, $s);
print join ("E ", @a), "E\n"; 

答案 1 :(得分:0)

请参阅split的文档:

  

默认情况下,会保留空的前导字段,并删除空的尾随字段。