Perl-split and join
Perl-split and joinsplit
split /PATTERN/,EXPR,LIMIT
split /PATTERN/,EXPR
1.split,它会根据分隔符拆开一个字符串。这对处理被制表符、冒号、空白或任意符号分割的数据相当有用。
@fields = split /:/, "abc:def:g:h"; #得到("abc","def","g","h")
2.如果两个分隔符连在一起,就会产生空字段:
@fields = split /:/, "abc:def::g:h"; #得到("abc","def","","g","h")
3.这里有个规则,它乍看之下很古怪,但很少造成问题:split会保留开头处的空字段,并省略结尾处的字符段。
@fields = split /:/, ":::abc:def::g:h:::"; #得到("","","","abc","def","","g","h")
4.利用/\s+/模式进行空白分隔符也是常见的做法,在此模式下,所有的空白会被当成一个空格来处理。
my $some_input = "This isa\t test.\n";
my @args= split /\s+/,$some_input;
#得到("This","is","a","test")
split默认以空格符分隔$_
my @fields = split;#等效于 split /\s+\, $_;
join
join函数不会使用模式,它的功能与split相反,split会将字符串分解为数个片段,而join则会把这些片段合成一个字符串,它的用法如下:
my $result = join $glue, @pieces
可以把第一个参数理解为胶水,他可以是任意的字符串。其余参数则是一串片段。join会把胶水涂在每一个片段之间,并返回结果字符串。
my $x = join ":", 4,5,6,7,8,9;#$x为"4:5:6:7:8:9"
页:
[1]