Perl 初學
清單
($a, $b) = (10, 20);
陣列
#----------------------
@a = (10, 20, 30);
#----------------------
result:
$a[0] = 10;
$a[1] = 20;
$a[2] = 30;
#----------------------
@a = ("台北縣樹林市", 238);
#----------------------
result:
$a[0] = "台北縣樹林市";
$a[1] = 238;
清空陣列
#----------------------
@a = ();
#----------------------
參照陣列元素
將值代入陣列元素
ex1:
#----------------------
@a = ("One", "Two", "Three");
@a[0] = 1;
@a[1] = 2;
@a[2] = 3;
$n = 2;
print $a[$n];
#----------------------
result: 3
#----------------------
ex2:
#----------------------
@a = (1,2,3,4);
print "$a[0] ";
print "$a[1] ";
print "$a[2] ";
print "$a[3] ";
#----------------------
將清單代入陣列各個元素
ex1:
#----------------------
@a = (1, 2, 3);
($a1, $a2) = @a;
#----------------------
ex2:
#----------------------
@a = (1, 2, 3);
($a1, $a2, $a3, $a4) = @a;
#----------------------
$a4 為空值,沒有代入任何值
陣列的索引
@a = (1, 2, 3);
$a[0], $a[1], $a[2]
or
(在 perl 中陣列的最後一個元素以 -1 來表示,所以也可以寫成)
$a[-3], $a[-2], $a[-1]
陣列的元素數
在陣列名稱前加上「$#」,可求得元素索引的最大值
@a = (1, 2, 3, 4);
print $#a;
#-------------------------
result: 3
陣列的大小
對索引指定元素數以上的數字時,陣列的元素數會自動擴大
@a = (1,2,3);
$a[10] = 10;
print $#a;
#----------------------
result: 10
若將清單代入陣列中,陣列的元素數會變成清單的元素數。
@a = (1,2,3,4,5,6);
@a = (6,7,8);
print $#a;
#----------------------
result: 2
關連陣列:將 key 和 value 整合的陣列, 關連陣列以「 %」符號來做宣告。
%a = ("name", "bobo", "num", 3, 10, 100);
#or
%a = ("name"=> "bobo", "num"=> 3, 10=> 100);
#---------------------------
result:
$a{"name"} = "bobo";
$a{"num"} = 3;
$a{10} = 100;
清空關連陣列
%a = ();
清單
($a, $b) = (10, 20);
陣列
#----------------------
@a = (10, 20, 30);
#----------------------
result:
$a[0] = 10;
$a[1] = 20;
$a[2] = 30;
#----------------------
@a = ("台北縣樹林市", 238);
#----------------------
result:
$a[0] = "台北縣樹林市";
$a[1] = 238;
清空陣列
#----------------------
@a = ();
#----------------------
參照陣列元素
將值代入陣列元素
ex1:
#----------------------
@a = ("One", "Two", "Three");
@a[0] = 1;
@a[1] = 2;
@a[2] = 3;
$n = 2;
print $a[$n];
#----------------------
result: 3
#----------------------
ex2:
#----------------------
@a = (1,2,3,4);
print "$a[0] ";
print "$a[1] ";
print "$a[2] ";
print "$a[3] ";
#----------------------
將清單代入陣列各個元素
ex1:
#----------------------
@a = (1, 2, 3);
($a1, $a2) = @a;
#----------------------
ex2:
#----------------------
@a = (1, 2, 3);
($a1, $a2, $a3, $a4) = @a;
#----------------------
$a4 為空值,沒有代入任何值
陣列的索引
@a = (1, 2, 3);
$a[0], $a[1], $a[2]
or
(在 perl 中陣列的最後一個元素以 -1 來表示,所以也可以寫成)
$a[-3], $a[-2], $a[-1]
陣列的元素數
在陣列名稱前加上「$#」,可求得元素索引的最大值
@a = (1, 2, 3, 4);
print $#a;
#-------------------------
result: 3
陣列的大小
對索引指定元素數以上的數字時,陣列的元素數會自動擴大
@a = (1,2,3);
$a[10] = 10;
print $#a;
#----------------------
result: 10
若將清單代入陣列中,陣列的元素數會變成清單的元素數。
@a = (1,2,3,4,5,6);
@a = (6,7,8);
print $#a;
#----------------------
result: 2
關連陣列:將 key 和 value 整合的陣列, 關連陣列以「 %」符號來做宣告。
%a = ("name", "bobo", "num", 3, 10, 100);
#or
%a = ("name"=> "bobo", "num"=> 3, 10=> 100);
#---------------------------
result:
$a{"name"} = "bobo";
$a{"num"} = 3;
$a{10} = 100;
清空關連陣列
%a = ();