網路管理語言 Perl 入門與實作: | ||
---|---|---|
<<< Previous | 4. Perl 的資料型態 | Next >>> |
串列是小括號()內,由一串純量組成(0 個元素以上),彼此以逗點分開。比如:
(1, 2, 3, 4) 這是有 4 個數值元素的串列 ("John", 5, 6, "ijk", 7) 這是 5 個元素,字串及數值純量混合的串列。 若元素是連續的,可以使用 "範圍算符" .. 來表示區間。 (1..1000) 表示 1 到 1000 所組成的串列。 (5..10) (5.1..10.7) 同上,它會把小數去掉。 (1, 3, 5..8, 9, 10) 同 (1, 3, 5, 6, 7, 8, 9, 10) ("Mmm", "NNN", "Jjj", "Kkk", "Xxx") 串列也可以是空的: () 空串列 變動形的串列: $l=10; $t=20; ($l, $t) 此串列的大小由 $l, $t 決定 |
像 ("Mmm", "NNN", "Jjj", "Kkk", "Xxx") 這種串列要鍵入那麼多雙引號,挺累人的,您也可以用 qw 算符來簡化它(別忘了 Perl 是懶惰程式設計師的最愛):
("Mmm", "NNN", "Jjj", "Kkk", "Xxx") 同於 qw( Mmm NNN Jjj Kkk Xxx ) |
換言之,qw 是將串列元素加上引號(quoted words,因此簡稱為 qw),並且以空白分隔。除此之外,您也不一定要用小括號,您可用任何符號做為起始及結束符號:
qw/ Mmm NNN Jjj Kkk Xxx / qw! Mmm NNN Jjj Kkk Xxx ! qw# Mmm NNN Jjj Kkk Xxx # qw{ Mmm NNN Jjj Kkk Xxx } qw< Mmm NNN Jjj Kkk Xxx > qw[ Mmm NNN Jjj Kkk Xxx ] 以上均同於:("Mmm", "NNN", "Jjj", "Kkk", "Xxx") |
串列可用來快速交換變數內容,不需要中間暫存變數:
傳統交換變數內容之作法如下: # 把 $a 先放入 暫存變數 $tmp 中 $tmp = $a; # 把 $b 放入 $a 中 $a = $b; # 把 $a 值放入 $b 中 $b = $tmp; 但使用串列,就不必再用中間暫存變數了! 如下所示: # 以下將 $a、$b 兩變數內容交換 ($a, $b) = ($b, $a); # 以下將 $b 給 $a,$c 給 $b,$a 給 $c,形成輪動的效果 ($a, $b, $c) = ($b, $c, $a); |
<<< Previous | Home | Next >>> |
4.2 陣列 | Up | 4.2.2 產生陣列 |