[ 永遠的UNIX::UNIX技術資料的寶庫 ]   GB | BIG5

首頁 > 編程技術 > Perl > 正文
Perl 變量(2)--數組
不詳 (2001-04-16 16:10:47)
數組是標量數據的有序列表。 
 
數組可以含任意多個元素。最小的數組可以不含元素,而最大的數組可以佔滿全部可用內存。 
 
數組實量(array literal)是位括號內用逗號分開的一系列值。如: 
 
(1,2,3,4,5)#具有1,2,3,4,5五個數值的數組 
("zmd",1974,173.5)#具有"zmd",1974,173.5三個數值的數組 
()#空數組 
($a,5)#兩個數值:$a的值和5 
($a+$b,6)#兩個數值 
 
數組變量具有單獨的數組值,要以@打頭而不是$。如: 
 
@zmd 
注意@zmd與$zmd沒任何聯系。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的數組個數 
 
數組元素的訪問和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的數組個數 
 
綜合舉例 

@user1=("zmd","cxm"); #將zmd和cxm兩個字符串賦給@user1 
@user2=@user1; #這時@user2=@user1=("zmd","cxm") 
@user3=("zk",@user1); #這時@user3=("zk","zmd","cxm") 
($one,@user4)=@user3; #這時$one="zk" 
@user1=(); #把@user1清空 
@int1=(1,2,3,4,5); $x=@int1; #將數組@int1的個數賦給$x純變量,$x=5 
$x=$#int1; #$#這個變量返回數組最個數的值(index)$x=4 
($x)=@int1; #$x等數組的第一個個數值$x=1 
$b=$int1[0]; #$b等數組的第一個元素值$b=1 
$c=@int1[0]; #$c同上$c=1,因些呼叫數組中值有兩種方法 
$int1[0]=3; #將3這個數值賦給數組@int的第一個元素@int1=(3,2,3,4,5) 
$int1[0,1]=[7,8]; #將7賦給數組的第一個元素將8賦給數組第二個元素@int1=(7,8,3,4,5) 
@int1[0,1]=@int1[1,0]; #將數組前兩個元素交換@int1(8,7,3,4,5) 
($int1[0],$int1[1])=($int1[1],$int1[0]); #同上@int1=(8,7,3,4,5) 
@int2=@int1[0,1]; #int2=(8,7) 
$int1[5]=6; #將6賦給數組中第六個元素@int1=(1,2,3,4,5,6) 



 

 
 
 

 

 
(http://www.fanqiang.com)
    進入【UNIX論壇

相關文章
Perl 變量(2)--數組 (2001-04-16 16:10:47)
Perl 變量(1)--純變量 (2001-04-16 16:09:49)
 

★  樊強制作 歡迎分享  ★