| 網路管理語言 Perl 入門與實作: | ||
|---|---|---|
| <<< Previous | 4. Perl 的資料型態 | Next >>> |
有了串列的預備知識之後,接著我們來看陣列如何產生?
Perl 的陣列,以 @ 加上變數名稱來表示,比如:@oklist,它的元素可由 index 索引逐一取得,第一個 index 值由 0 開始,最後一個 index 值由 $#oklist 來表示。陣列的第一個元素為 $oklist[0],第二個元素為 $oklist[1],第三個元素為 $oklist[2],其它依此類推,最後一個元素為 $oklist[$#oklist]
@oklist=(1, 2, 4, 6); @oklist 陣列共有 4 個元素,分別是 $oklist[0], $oklist[1], $oklist[2], $oklist[3] $#oklist 值為 3 最後一個元素可表示成 $oklist[$#oklist],其值為 6 @tiny=(); # 空陣列 #! /usr/bin/perl @a=(2, 4, 6); @b=(1, 3, 5); @c=qw(a b c); # 那麼: @total=(@a, @b, @c); # 同於 (2, 4, 6, 1, 3, 5, "a", "b", "c"); # 可以把陣列一次印出來 print @total; # 結果:246135abc |
在上述範例中,我們把陣列一次印出來,可是所有元素全接在一起了,這有時並不是我們想要的,通常我們希望能在元素之間加入某些分隔符號,比如 "," 逗點,那麼如何做呢? join 這個函式可以幫我們做到這一點,示範如下:
#! /usr/bin/perl @a=(2, 4, 6); @b=(1, 3, 5); @c=qw(a b c); # 那麼: @total=(@a, @b, @c); # 同於 (2, 4, 6, 1, 3, 5, "a", "b", "c"); $result = join ',' , @total; print $result; # 結果:2,4,6,1,3,5,a,b,c |
上式中,join 函式的作用對象是陣列,語法是:join 表示式, 陣列
因為我們希望 @total 的元素用 "," 號分開,且把結果(是一個字串)放入 $result 中,因此,使用 join ',' , @total;
您可以任意變換您要分隔的符號。
再者,有時我們希望上述的過程可逆,也就是說:把 $result 還原成 @total (2,4,6,1,3,5,a,b,c 變成 246135abc),那麼要怎麼做呢? split 這個函式可以幫我們的忙:
#! /usr/bin/perl
$result="2,4,6,1,3,5,a,b,c";
@total = split(/,/, $result);
$i=0;
while ($i <= $#total) {
print '$total[' . $i . '] ===> ' . $total[$i] . "\n";
$i++;
}
# 輸出:
$total[0] ===> 2
$total[1] ===> 4
$total[2] ===> 6
$total[3] ===> 1
$total[4] ===> 3
$total[5] ===> 5
$total[6] ===> a
$total[7] ===> b
$total[8] ===> c
|
上式,在 split 中指明分隔符號為 ",",它可以把純量字串 "分割" 成為陣列,然後存放在 @total 中。
| <<< Previous | Home | Next >>> |
| 4.2.1 串列 | Up | 4.2.3 走過每一個陣列元素 |