Perl基础Perl数组学习指南
本文和大家重点讨论一下Perl数组的概念,主要包括基本的Perl数组和一些与Perl数组相关的函数等内容,另外Perl中所有Perl数组变量都以@开头,相信通过本文的学习你对Perl数组的概念有全面的认识。

Perl数组
Perl中所有Perl数组变量都以@开头
(1)基本Perl数组
定义和使用
 my@list=("a","b","c");
 $list[0],$list[1],$list[2],下标从0开始
Perl数组中元素个数:$#array_name,返回Perl数组中最后一个变量的索引=Perl数组元素个数-1
 空Perl数组$#array_name=-1
Perl数组表达式:
 @array=(1,$data,"sam");
 @array_dest=@array_source;
 @full_message=($prefix1,$prefix2,@message);//在message前面加了两个元素,赋值full_message
打印Perl数组:
 print“@array”,打印结果中间用空格分隔,去掉双引号,中间没有分隔
带有“黑洞”的Perl数组:
 如果Perl数组中有没有赋值的元素,则为undef,例如:
 my@array=(1);
 $array[5]=4;//中间的几个下标对应的都是undef
引用词运算符qw:
 my@array=qw(tomdickharry);//中间除了空格没有其他分隔符
 相当于my@array=("tom","dick","harry");
(2)一些Perl数组相关函数:
push(@array,$value):向结尾添加一个元素
pop(@array):取走最后的元素并返回
unshift(@array,$value):在Perl数组起始添加一个元素
shift(@array)或者shift@array:取走第一个元素并返回(函数都可以省略括号)
(3)处理Perl数组的一部分:
可以用一套索引,例如:
 my@new_array=@array[1,3,5];
 @array[1,0]=@array[0,1];
范围运算符,例如:
 @arry[0..9]=((0)x10);//重复10次0
(4)splice函数
splice可以删除或者替换Perl数组的一部分,格式为:
 splice@array,$offfset//删除从offset开始到末尾,offset为下标,offset为负数则从结尾算起
 例如:
 my@array=(0,1,2,3,4,5);
 splice(@array,-2);
 将得到0123
splice会返回最后删除的函数。
splice另一种形式:
 splice@array,$offset,$length,删除length个元素
第三种形式:
 splice@array$offset,$length,REPLACEMENTS
 删掉后,从offset开始添加REPLACEMENTS里的元素,REPLACEMENTS可以是标量或者Perl数组
(5)split和join函数
@array=splitRegExpr,$string//将$string按照RegExpr指定的分隔符来分解放到@array中
$string=join$union,@array//将@array中元素用$union连接,赋值给@string
(6)Perl数组排序
sort函数,默认按照ASCII顺序排序:
 my@sorted=sort@array;
按数字顺序排序:
 @result=sort{$a<=>$b},@unsorted;
(7)@ARGV变量
包含程序的命令行参数,与c中不一样,第一个参数不是程序的名字
 程序的名字在变量$0(数字0)中
【编辑推荐】
- 深入解析Perl中Perl数组的使用
- Perl文件句柄概念详解
- 实例解析Perl守护进程用法
- Perl变量中Perl数组概念详解
- 术语汇编 Perl变量中Perl关联数组用法解析
网页题目:Perl基础Perl数组学习指南
标题URL:http://jxruijie.cn/article/cdjccps.html

 
                