Perl入门(三)Perl的数组
Perl数组的声明方式
Perl使用"@"符号声明一个数组:@array;
使用"()"或"qw()"声明数组中元素;
一个完整的声明方式为:
@array = (12,"123","abc",$var);......方法一
或者
@array = qw(12 123 abc); ............方法二
或者
@array = (1..10).....................方法三
Perl数组的存取
数组通过下标进行存取,数组的下标从0开始,单个元素存取推荐使用$,多个元素存取推荐使用@。
以@array=(1,2,3,4,5,6,7);为例
取数组元素:
$array[0]表示数组的第一个元素 1,以此类推。
@array[1..3]表示数组的第二个元素到第四个元素:2,3,4
@array[1,2,4]表示数组的第二,第三和第五个元素:2,3,5;顺序也可以交换:@array[4,1,2]: 5 2 3;
修改数组
通过上述取数组元素的方法,取得元素,然后进行重新赋值。
$array[0]= -1;# $array=(-1,2,3,4,5,6,7)
@array[1..2]=(8,9); # $array=(1,8,9,4,5,6,7)
Perl数组的初始化方法
()初始化
如【方法一】所示,将元素放入括号内以","为分隔符
qw()初始化
如【方法二】所示,将元素放入qw()的括号内,元素之间以【空格】分隔,字符串类型不需要使用引号。
缺点:它将括号内内容视为一整个字符串,然后根据空格进行分割,但是如果你希望某一个元素中也包含个空格,就没有办法实现.
..初始化
如【方法三】所示,".."表示一个范围,(1..5)等价于(1,2,3,4,5),(a..z)表示字母a-z的集合
Perl数组的基本属性
$#array 表示数组的最后一个元素的下标,数组长度-1
@array 表示数组长度,直接进行print会输出数组内容
Perl数组的遍历
方法一:使用循环数组下标进行遍历(较简单,自己动手尝试)
方法二:使用foreach循环进行遍历
#!user/bin/env perl -w @array = qw(1 2 3 4 5 6); $var = 100; foreach $var (@array) { print "$var\n"; } print "var is : $var\n";输出结果
1 2 3 4 5 6 var is : 100
上述输出结果中:
- foreach如何进行遍历
- 应该有注意到$var,var在循环中,担任一个局部变量的角色,循环完成后var的值还是原来的100,可以理解为:这个过程中有两个$var,一个是循环外面的,另外一个是foreach的局部变量.
数组相关的函数
sort:按照字符在ASCII码表中的顺序逐位向下进行排序
reverse:将数组进行倒序