Perl函数集-数组和Perl列表函数解析

开发 架构
本文向大家简单介绍一下Perl函数集-数组和Perl列表函数的概念,Perl语言中Perl函数有很多值得学习的地方,这里和大家简单分享一下其用法。

本文和大家重点讨论一下Perl函数集-数组和Perl列表函数的概念,Perl语言中每种函数都有各自的特点和用法,这里向大家简单介绍一些Perl函数的用法。

Perl函数集-数组和Perl列表函数

Perl函数名 grep

调用语法 @foundlist=grep(pattern,@searchlist);
解说 与同名的UNIX查找工具类似,grepPerl函数在列表中抽取与指定模式匹配的元素,参数pattern为欲查找的模式,返回值是匹配元素的列表。
例子 @list=("This","is","a","test");
@foundlist=grep(/^[tT]/,@list);
结果 @foundlist=("This","test");

Perl函数名 splice

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

Perl函数名 shift

调用语法 element=shift(@arrayvar);
解说 删去数组***个元素,剩下元素前移,返回被删去的元素。不加参数时,缺省地对@ARGV进行操作。

Perl函数名 unshift

调用语法 count=unshift(@arrayver,elements);
解说 作用与shift相反,在数组arrayvar开头增加一个或多个元素,返回值为结果(列表)的长度。等价于splice(@array,0,0,elements);

Perl函数名 push

调用语法 push(@arrayvar,elements);
解说 在数组末尾增加一个或多个元素。等价于slice(@array,@array,0,elements);

Perl函数名 pop

调用语法 element=pop(@arrayvar);
解说 与push作用相反,删去列表***一个元素,并将其作为返回值,当列表已空,则返回“未定义值”(即空串)。

Perl函数名 split

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

Perl函数名 sort

调用语法 @sorted=sort(@list);
解说 按字母次序给列表排序。

Perl函数名 reverse

调用语法 @reversed=reverse(@list);
解说 按字母反序给列表排序。

Perl函数名 map

调用语法 @resultlist=map(expr,@list);
解说 此Perl函数在Perl5中定义,可以把列表中的各个元素作为表达式expr的操作数进行运算,其本身不改变,结果作为返回值。在表达式expr中,系统变量$_代表各个元素。
例子 1、@list=(100,200,300);
@results=map($_+1,@list);
2、@results=map(&mysub($_),@list);
结果 1、(101,201,301)
2、无

Perl函数名 wantarray

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

  1. 1:#!/usr/local/bin/perl  
  2. 2:  
  3. 3:@array=&mysub();  
  4. 4:$scalar=&mysub();  
  5. 5:  
  6. 6:submysub{  
  7. 7:if(wantarray()){  
  8. 8:print("true\n");  
  9. 9:}else{  
  10. 10:print("false\n");  
  11. 11:}  
  12. 12:}  
  13. 结果 $program  
  14. true  
  15. false  
  16. $  

【编辑推荐】

  1. Perl语言中Perl函数用法
  2. Perl文件句柄概念详解
  3. Perl函数手册专家指导
  4. Perl基础 Perl数组学习指南
  5. 技术分享 详解Perl函数的参数接收方法

 

责任编辑:佚名 来源: csdn.net
相关推荐

2010-07-20 15:02:20

Perl数组

2010-07-19 14:20:57

Perl函数

2010-07-21 10:18:41

Perl map函数

2010-07-19 14:13:41

Perl函数

2010-07-16 16:56:01

Perl构造函数

2010-07-21 14:18:27

Perl函数

2010-07-20 13:02:08

Perl数组

2010-07-19 10:01:57

Perl函数

2010-07-20 09:23:30

Perl构造函数

2010-07-19 13:32:55

Perl用户函数

2010-07-26 14:06:43

Perl substr

2010-07-19 14:37:01

Perl进程启动函数

2010-07-19 15:31:10

Perl关联数组函数

2010-07-20 11:37:00

Perl函数返回值

2010-07-19 09:52:04

Perl标量

2010-07-21 13:59:59

Perl引用

2010-07-13 14:26:11

Perl数组

2010-07-16 17:04:38

Perl方法

2010-07-13 10:13:35

Perl内部函数

2010-07-23 15:59:33

Perl encode
点赞
收藏

51CTO技术栈公众号