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:将数组进行倒序