前言
重溫一下perl中單複數的概念:標量代表單數;而列表與數組代表perl 中的複數。
定義:
列表(list):指標量的有序集合。-------儲存標量
數組(array):儲存列表的變數。--------儲存變數
以上二者均為有序集合,數組或列表中的每個元素都有相應的整數作為索引,此數字從0開始遞增,每次加1。
註:列表和數組可以包含任意多個元素。最少可沒有任何元素,最多能把可用的記憶體全部塞滿。---遵循perl的“去除不必要限制”的原則。
1.數組
數組的賦值:
數組元素是以連續的整數來編號,從0開始,之後依次加1。數組的賦值也是如此,自動擴充--”無限制“ 原則,依次連續。
如,$fred[0] = "aa"; $fred[1] = "bb"; $fred[10] = "gg"; 則數組fred 現總共有11個元素(保持連續,自動擴充),其他沒有被賦值的數組元素用undef 填充。
數組的引用:引用與上面的數組形式與上面類似。注意點如下:
(1)對於引用下表超出數組的尾端,則對應的值將會值undef。
(2)特殊的數組索引值:引用數組最後一個元素的值:$#bianlaing_ming 或$bianliang_ming[-1](即可尾端迴圈)。
2.列表
列表直接量:圓括弧表示,並用逗號分隔。對於數字列表,還可使用範圍操作符:"..",該操作符會從左邊的數字計數到右邊,每次加1(不是數位統一轉換成數字),以產生一連串聯續數字。如(1.7, .. , 5.7)則表示1,2,3,4,5五個元素的列表。
qw 簡寫:建立簡單的單字清單。qw 表示quoted by whitspace(用空白圈引,單引號內空白分隔各單詞(word))。它通過嵌入的空格作為分隔字元抽取出一個個單詞,形成列表。
由第一章 可知,單引號中的字元均代表他們自身。Perl中還允許你使用任何標點符號作為定界符。常用的寫法有:
qw! fred barney betty wilma dino !
qw/ fred barney betty wilma dino /
qw# fred barney betty wilma dino #
qw{ fred barney betty wilma dino }
qw[ fred barney betty wilma dino ]
qw< fred barney betty wilma dino >
以上語句均與qw( fred barney betty wilma dino )等價。--這更符合perl的座右銘:辦法不止一種(There's more than one way to do it)。
關於qw的用法詳細內容,可參考:http://perlmeme.org/howtos/perlfunc/qw_function.html
列表的賦值:
有三種賦值形式:
(1){$fred, $barney, $dino }= {"fil", "rub", "und"};------- 一一對應
(2){$fred, $barney}={"fil", "rub", "und"};---------左少右多,右邊多出來的值將被忽略。
(3){$fred, $barney, $dino }={"fil", "rub"}-----左多又少,左邊多出來的變數將被設成undef。
這裡還有一個引用整個數組的方法:@shuzuming (@:可以讀成“all of the”:全部的,所有的)。