Perl split操作符

split会根据给定的模式拆分字符串,对于使用制表符、冒号、空格或任意符号分割不同字段数据的字符串来说,用这个操作符分解提取字段相当方便。只要你能将分隔符写成模式,就可以用split分解数据。
split具体用法如下:
my @fields = split /separator/, $string;例子详解:
my @fields = split /,/, "hello,world";#得到("hello", "world")
#如果两个分隔符连在一起,就会产生空字段:my @fields = split /,/, "hello,,world";#得到("hello", "", "world")
#split会保留开头的空字段,但会舍弃结尾处的空字段。my @fields = split /,/, ",,,hello,world,,,";#得到("", "", "","hello", "world")
#split的/\s+/模式根据空白分隔字段。#该模式把所有连续空白视作单个空格并以此分割my @fields = split /\s+/, "oh hello world";#得到("oh","hello", "world")
#默认split会以空白分割$_中的字符串:my @fields = split;#等效于split /\s+/, $_;
#另一种用法:my @fields = split /\s/, "oh hello world", 2;#得到("oh","hello world"
#此外可以将@fields结果传递给变量my @fields = split /\s/, "oh hello world";my $words = $filed[0];#则$words的值为"oh"
my @fields = split '|', "oh hello world"; #等价于 my @fields = split /|/, "oh hello world";
#多种字符分割my @fields = split /[\s,]/, "oh,hello world";#得到("oh","hello", "world")#或者:my @fields = split /\s|,/, "oh,hello world";#得到("oh","hello", "world")
#拆分为哈希my $sline='xiaoming=A&xiaoli=B&xiaohua=C';my %array=split /[=&]/,$line;#得到 'xiaoming' => 'A', 'xiaoli' => 'B', 'xiaohua' => 'C' 赞 (0)
