本文和大家重点讨论一下Perl变量中Perl数组的概念,Perl变量有三种,每种都有各自的特点和作用,Perl数组实量(arrayliteral)是位于括号内用逗号分开的一系列值。
Perl变量
Perl有三种变量:
纯变量(ScalarVarible)
数组(Array)
关联数组(Associativearray)
一、Perl数组
数组是标量数据的有序列表。
数组可以含任意多个元素。最小的数组可以不含元素,而最大的数组可以占满全部可用内存。
Perl数组实量(arrayliteral)是位于括号内用逗号分开的一系列值。如:
(1,2,3,4,5)#具有1,2,3,4,5五个数值的Perl数组
("zmd",1974,173.5)#具有"zmd",1974,173.5三个数值的数组
()#空数组
($a,5)#两个数值:$a的值和5
($a+$b,6)#两个数值
Perl数组变量具有单独的数组值,要以@打头而不是$。如:@zmd
注意@zmd与$zmd没任何联系。Perl为对象的不同类型保留独立的命名空间。
Perl数组的赋值和标量赋值一样,也用等号表示。Perl根据赋值对象是标量还是数组变量来确定赋值操作是标量赋值还是数组赋值。
若数组实量中只含有变量引用(不是表达式),则此数组实量也可作为变量使用。它可以用在赋值运算符的左边。例如:
($a,$b,$c)=(1,2,3)#将1赋给$a,2赋给$2,3赋给$3
如果把数值变量赋给标量变量,则赋给标量变量的就是数组长度,如:
@zmd=(1,2,3)#将(1,2,3)赋给@zmd
$a=@zmd#$a为3,即@zmd的数组个数
Perl数组元素的访问和C语言中类似,下标是按顺序整数排列的,编号从0开始。
($a,$b,$c)=(1,2,3)#将1赋给$a,2赋给$2,3赋给$3
如果把数值变量赋给标量变量,则赋给标量变量的就是数组长度,如:
@zmd=(1,2,3)#将(1,2,3)赋给@zmd
$a=@zmd#$a为3,即@zmd的数组个数
综合举例
【编辑推荐】