Perl连接和拆分操作

时间:2013-05-20 14:18:54

标签: perl join split

我尝试了一个小测试: 用x替换x|y|z|a中的w 所以我试过了:

echo "x|y|z|a" | perl -lne '@arr=split /|/;$arr[0]='w';$_=join "|",@arr;print $_;'
它给了我:

> echo "x|y|z|a" | perl -lne '@arr=split /|/;$arr[0]='w';$_=join "|",@arr;print $_;'
w|||y|||z|||a
>

令人惊讶的是它提供了3个字段分隔符而不是1个。 谁能告诉我哪里错了?

1 个答案:

答案 0 :(得分:7)

您的正则表达式是两个空模式之间的交替。您可以使用/\|/来匹配文字|