|
join 函数不使用模式,但它完成同split 相反的操作:split 将一个字符串分割开,而join 函数将这些分割的部分组合成一个
整体。join 函数类似于:
my $result = join $glue, @pieces;
join 函数的第一个参数是粘合元素(glue),它可以是任意字符串。剩下的参数是要被粘合的部分。join 将粘合元素添加在这
些部分之间,并返回其结果:
my $x = join“:”, 4, 6, 8, 10, 12; #$x 为“4:6:8:10:12”
在本例中,我们有五个元素,因此有4 个冒号或者说粘合元素。这些粘合元素只在这些粘合部分之间出现,而不会在之前
或之后出现。因此粘合的元素要比粘合的部分的个数少1。
这意味着如果列表中元素个数小于2,则不会有粘合的元素:
my $y = join “foo”, “bar”; #得到“bar”
my @empty; #空数组
my $empty = join “baz”, @empty; #没有元素,因此为空串
使用上面的$x,我们可以先将一个字符串分割开,再使用不同的分隔符(粘合元素)将它们重组起来:
my @values = split /:/, $x; #@values 为(4, 6, 8, 10, 12)
my $z =join “-”, @values; #$z 为“4-6-8-10-12”
split 和join 可以一起使用,但不要忘了join 的第一个参数是字符串,而非模式。 |
|