grep:在列表中抽取与指定模式匹配的元素

调用语法 @foundlist=grep(pattern,@searchlist);

参数pattern为欲查找的模式,返回值是匹配元素的列表。 
@list=("This","is","a","test"); 
@foundlist=grep(/^[tT]/,@list);

 

splice:可以向列表(数组)中间插入元素、删除子列表或替换子列表

调用语法 @retval=splice(@array,slipelements,length,@newlist); 
参数skipelements是拼接前跳过的元素数目,length是被替换的元素数,newlist是将要拼接进来的列表。当newlist的长度大于length时,后面的元素自动后移,反之则向前缩进。因此,当length=0时,就相当于向列表中插入元素,而形如语句 
splice(@array,-1,0,"Hello"); 
则向数组末尾添加元素。而当newlist为空时就相当于删除子列表,这时,如果length为空,就从第skipelements个元素后全部删除,而删除最后一个元素则为:splice(@array,-1);这种情况下,返回值为被删去的元素列表。

shift:删去数组第一个元素,剩下元素前移,返回被删去的元素

调用语法 element=shift(@arrayvar); 
不加参数时,缺省地对@ARGV进行操作。

unshift:作用与shift相反,在数组arrayvar开头增加一个或多个元素,返回值为结果(列表)的长度

调用语法 count=unshift(@arrayver,elements);

push:在数组末尾增加一个或多个元素

调用语法 push(@arrayvar,elements);

pop:与push作用相反,删去列表最后一个元素,并将其作为返回值

调用语法 element=pop(@arrayvar); 
当列表已空,则返回“未定义值”(即空串)。

split:将字符串分割成一组元素的列表

调用语法 @list=split(pattern,string,maxlength); 
每匹配一次pattern,就开始一个新元素,但pattern本身不包含在元素中。maxlength是可选项,当指定它时,达到该长度就不再分割。

sort:按字母次序给列表排序

调用语法 @sorted=sort(@list);

reverse:按字母反序给列表排序

调用语法 @reversed=reverse(@list);

map:把列表中的各个元素作为表达式expr的操作数进行运算,其本身不改变,结果作为返回值

调用语法 @resultlist=map(expr,@list); 
表达式expr中,系统变量$_代表各个元素。 
@list=(100,200,300); 
@results=map($_+1,@list);

wantarray:一些内置Perl函数的行为根据其处理简单变量还是数组有所不同,如chop。自定义的子程序也可以定义这样两种行为。当子程序被期望返回列表时,此Perl函数返回值为非零值(真),否则为零值(假)

调用语法 result=wantarray();