明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線(xiàn)學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

perl案例區(qū)分圖文說(shuō)明教程之5

[摘要]一、列表 列表是包含在括號(hào)里的一序列的值,可以為任何數(shù)值,也可為空,如:(1, 5.3 , "hello" , 2),空列表:()。 注:只含有一個(gè)數(shù)值的列表(如:(43.2) )與該數(shù)值本身(即:43.2 )是不同的,但它們可以互相轉(zhuǎn)化或賦值。 列表例: (17, $var,...
一、列表

列表是包含在括號(hào)里的一序列的值,可以為任何數(shù)值,也可為空,如:(1, 5.3 , "hello" , 2),空列表:()。
注:只含有一個(gè)數(shù)值的列表(如:(43.2) )與該數(shù)值本身(即:43.2 )是不同的,但它們可以互相轉(zhuǎn)化或賦值。
列表例:

(17, $var, "a string")
(17, 26 << 2)
(17, $var1 + $var2)
($value, "The answer is $value")

二、數(shù)組--列表的存貯

列表存貯于數(shù)組變量中,與簡(jiǎn)單變量不同,數(shù)組變量以字符"@"打頭,如:
@array = (1, 2, 3);
注:
(1)數(shù)組變量創(chuàng)建時(shí)初始值為空列表:()。
(2)因?yàn)镻ERL用@和$來(lái)區(qū)分?jǐn)?shù)組變量和簡(jiǎn)單變量,所以同一個(gè)名字可以同時(shí)用于數(shù)組變量和簡(jiǎn)單變量,如:
$var = 1;
@var = (11, 27.1 , "a string");
但這樣很容易混淆,故不推薦。

1、數(shù)組的存取

.對(duì)數(shù)組中的值通過(guò)下標(biāo)存取,第一個(gè)元素下標(biāo)為0。試圖訪問(wèn)不存在的數(shù)組元素,則結(jié)果為NULL,但如果給超出數(shù)組大小的元素賦值,則數(shù)組自動(dòng)增長(zhǎng),原來(lái)沒(méi)有的元素值為NULL。如:

@array = (1, 2, 3, 4);
$scalar = $array[0];
$array[3] = 5; # now @array is (1,2,3,5)
$scalar = $array[4]; # now $scalar = null;
$array[6] = 17; # now @array is (1,2,3,5,"","",17)

.數(shù)組間拷貝

@result = @original;

.用數(shù)組給列表賦值

@list1 = (2, 3, 4);
@list2 = (1, @list1, 5); # @list2 = (1, 2, 3, 4, 5)

.數(shù)組對(duì)簡(jiǎn)單變量的賦值

(1) @array = (5, 7, 11);
($var1, $var2) = @array; # $var1 = 5, $var2 = 7, 11被忽略
(2) @array = (5, 7);
($var1, $var2, $var3) = @array; # $var1 = 5, $var2 = 7, $var3 ="" (null)

.從標(biāo)準(zhǔn)輸入(STDIN)給變量賦值

$var = ;
@array = ; # ^D為結(jié)束輸入的符號(hào)

2 、字符串中的方括號(hào)和變量替換

"$var[0]" 為數(shù)組@var的第一個(gè)元素。
"$var[0]" 將字符"["轉(zhuǎn)義,等價(jià)于"$var". "[0]",$var被變量替換,[0]保持不變。
"${var}[0]" 亦等價(jià)于"$var" ."[0]"。
"${var}"則取消了大括號(hào)的變量替換功能,包含文字:${var}.