在perl中,join()和split()的功能是相反的。
一.join函数
?1.作用:把数组元素或者几个字符串通过分隔符连接成单个字符串
?2.格式:join(DELIMITER,ARRAY或string[1,2,3...])
?3.实例:#join
$name="Tom";
$birth="01/02/86";
$addr="chengdu.sichuan";
$info=join(":",$name,$birth,$addr);
print "1.$info"."n";
@list=("Tom","Joe","Tonny","chris");
@array=join("n",@list);
$str=join("-",@list);
print "2.$strn";
print "3.@array";
4.结果:
1.Tom:01/02/86:chengdu.sichuan
2.Tom-Joe-Tonny-chris
3.Tom
Joe
Tonny
chris
二、split函数
?1.作用:与上面的join函数功能恰好相反,是通过指定的分隔符把字符串分割成一个一个的字段,形成一个数组返回
?2.格式:split(DELIMITER,STRING);
??????? split(DELIMITER,STRING,LIMIT); ?? ?
??????? split(DELIMITER);
?3.1.实例:#split(DELIMITER,STRING);
?? $char="a/b/c/d/e/f";
?? @letters=split("/",$char);
?? print "1.@lettersn";
?3.2.输出结果:
? 1.a b c d e f
?4.1实例:#split(DELIMITER);
?? while(<DATA>){
?? ?? @ch=split(":");
????? print "$ch[1]n";
?? }
__DATA__
1:2:3:5
2:s:f:s
e:r:t:y
?4.2输出结果:
?2
?s
?r
?5.1实例:#split(DELIMITER,LIMIT); ?? ?
?? $string="Tom Joe Tonny chris";
?? @names=split(" ",$string,2);
?? print "1.$names[0]n";
?? print "2.$names[1]n";
?? print "3.$names[2]n";
?5.2输出结果:
?1.Tom
?2.Joe Tonny chris
?3.
?6总结:
(1)在第二种格式中,LIMIT是用来指定需要拆分的字段数目。若LIMIT的值小雨STRING中的字段数,则拆分后最后一个数组元素将包含所以剩余的。
(2)在第三种格式中,使用的变量其实是默认的$_
原文见:http://www.51testing.com/?uid-364865-action-viewspace-itemid-222697