?? perl 語言-perl 中文教程(第四章).htm
字號:
<TR>
<TD><A onmouseover="MM_swapImage('Image18','','14a.gif',1)"
onmouseout=MM_swapImgRestore()
href="http://www.sun126.com/perl5/perl5-14.htm"><IMG
src="Perl 語言-Perl 中文教程(第四章).files/14.gif" border=0
name=Image18></A></TD></TR>
<TR>
<TD><A onmouseover="MM_swapImage('Image19','','y1a.gif',1)"
onmouseout=MM_swapImgRestore()
href="http://www.sun126.com/perl5/perl5-15.htm"><IMG
src="Perl 語言-Perl 中文教程(第四章).files/y1.gif" border=0
name=Image19></A></TD></TR>
<TR>
<TD><A onmouseover="MM_swapImage('Image20','','y2a.gif',1)"
onmouseout=MM_swapImgRestore()
href="http://www.sun126.com/perl5/perl5-16.htm"><IMG
src="Perl 語言-Perl 中文教程(第四章).files/y2.gif" border=0
name=Image20></A></TD></TR>
<TR>
<TD><A onmouseover="MM_swapImage('Image21','','y3a.gif',1)"
onmouseout=MM_swapImgRestore()
href="http://www.sun126.com/perl5/perl5-17.htm"><IMG
src="Perl 語言-Perl 中文教程(第四章).files/y3.gif" border=0
name=Image21></A></TD></TR></TBODY></TABLE></TD>
<TD class=myFont vAlign=top width=30><IMG height=1
src="Perl 語言-Perl 中文教程(第四章).files/x.gif" width=10> </TD>
<TD class=myFont vAlign=top>
<DIV align=center><IMG height=30
src="Perl 語言-Perl 中文教程(第四章).files/top.gif" width=180><BR><SPAN
class=myFont><SPAN class=myFont><FONT face=宋體>翻譯:</FONT></SPAN></SPAN>
<SPAN class=myFont><SPAN class=myFont>flamephoenix</SPAN></SPAN> <BR>
<HR width="100%" SIZE=1>
<DIV align=left></DIV></DIV>
<P align=center><B>第四章 列表和數組變量</B></P>
<P><A href="http://www.sun126.com/perl5/perl5-4.htm#一、列表">一、列表</A><BR><A
href="http://www.sun126.com/perl5/perl5-4.htm#二、數組--列表的存貯">二、數組--列表的存貯</A><BR> <A
href="http://www.sun126.com/perl5/perl5-4.htm#1、數組的存取">1、數組的存取</A><BR> <A
href="http://www.sun126.com/perl5/perl5-4.htm#2、字符串中的方括號和變量替換">2、字符串中的方括號和變量替換</A>
<BR> <A
href="http://www.sun126.com/perl5/perl5-4.htm#3、列表范圍:">3、列表范圍</A><BR> <A
href="http://www.sun126.com/perl5/perl5-4.htm#4、數組的輸出:">4、數組的輸出</A><BR> <A
href="http://www.sun126.com/perl5/perl5-4.htm#5、列表/數組的長度">5、列表/數組的長度</A><BR> <A
href="http://www.sun126.com/perl5/perl5-4.htm#6、子數組">6、子數組</A><BR> <A
href="http://www.sun126.com/perl5/perl5-4.htm#7、有關數組的庫函數">7、有關數組的庫函數</A>
<BR><BR><A
name=一、列表>一、列表</A><BR> 列表是包含在括號里的一序列的值,可以為任何數值,也可為空,如:(1, 5.3 ,
"hello" , 2),空列表:()。<BR> 注:只含有一個數值的列表(如:(43.2) )與該數值本身(即:43.2
)是不同的,但它們可以互相轉化或賦值。<BR> 列表例:<BR> (17,
$var, "a string")<BR> (17, 26 <<
2)<BR> (17, $var1 +
$var2)<BR> ($value, "The answer is
$value")<BR><BR><A name=二、數組--列表的存貯>二、數組--列表的存貯</A>
<BR> 列表存貯于數組變量中,與簡單變量不同,數組變量以字符"@"打頭,如:<BR> @array
= (1, 2,
3);<BR> 注:<BR> (1)數組變量創建時初始值為空列表:()。<BR> (2)因為PERL用@和$來區分數組變量和簡單變量,所以同一個名字可以同時用于數組變量和簡單變量,如:<BR> $var
= 1;<BR> @var = (11, 27.1 , "a
string");<BR> 但這樣很容易混淆,故不推薦。<BR><BR><A name=1、數組的存取>1、數組的存取</A>
<BR> .對數組中的值通過下標存取,第一個元素下標為0。試圖訪問不存在的數組元素,則結果為NULL,但如果給超出數組大小的元素賦值,則數組自動增長,原來沒有的元素值為NULL。如:<BR> @array
= (1, 2, 3, 4);<BR> $scalar =
$array[0];<BR> $array[3] = 5; # now @array is
(1,2,3,5)<BR> $scalar = $array[4]; # now $scalar =
null;<BR> $array[6] = 17; # now @array is
(1,2,3,5,"","",17)<BR> .數組間拷貝<BR> @result
= @original; <BR> .用數組給列表賦值<BR> @list1 =
(2, 3, 4);<BR> @list2 = (1, @list1, 5); # @list2 =
(1, 2, 3, 4, 5)<BR> .數組對簡單變量的賦值<BR> (1)
@array = (5, 7, 11);<BR> ($var1, $var2) = @array; #
$var1 = 5, $var2 = 7, 11被忽略<BR> (2) @array = (5,
7);<BR> ($var1, $var2, $var3) = @array; # $var1 =
5, $var2 = 7, $var3 =""
(null)<BR> .從標準輸入(STDIN)給變量賦值<BR> $var =
<STDIN>;<BR> @array = <STDIN>; #
^D為結束輸入的符號<BR><BR><A name=2、字符串中的方括號和變量替換>2 、字符串中的方括號和變量替換
</A><BR> "$var[0]"
為數組@var的第一個元素。<BR> "$var\[0]" 將字符"["轉義,等價于"$var".
"[0]",$var被變量替換,[0]保持不變。<BR> "${var}[0]" 亦等價于"$var"
."[0]"。<BR> "$\{var}"則取消了大括號的變量替換功能,包含文字:${var}.<BR><BR><A
name=3、列表范圍:>3、列表范圍:</A> <BR> (1..10) = (1, 2, 3,
4, 5, 6, 7, 8, 9, 10)<BR> (2, 5..7, 11) = (2, 5, 6,
7, 11)<BR> (3..3) =
(3)<BR> .用于實數<BR> (2.1..5.3) = (2.1, 3.1
,4.1, 5.1)<BR> (4.5..1.6) =
()<BR> .用于字符串<BR> ("aaa".."aad") =
("aaa","aab", "aac", "aad")<BR> @day_of_month =
("01".."31")<BR> .可包含變量或表達式<BR> ($var1..$var2+5)<BR> .小技巧:<BR> $fred
= "Fred";<BR> print (("Hello, " . $fred . "!\n") x
2); <BR> 其結果為:<BR> Hello,
Fred!<BR> Hello, Fred! <BR><BR><A
name=4、數組的輸出:>4、數組的輸出:</A> <BR>(1) @array = (1, 2,
3);<BR> print (@array,
"\n");<BR> 結果為:<BR> 123<BR>(2) @array =
(1, 2, 3);<BR> print
("@array\n");<BR> 結果為:<BR> 1 2
3<BR><BR><A name=5、列表/數組的長度>5、列表/數組的長度</A>
<BR> 當數組變量出現在預期簡單變量出現的地方,則PERL解釋器取其長度。<BR> @array
= (1, 2, 3);<BR> $scalar = @array; # $scalar =
3,即@array的長度<BR> ($scalar) = @array; # $scalar =
1,即@array第一個元素的值<BR> 注:以數組的長度為循環次數可如下編程:<BR> $count
= 1;<BR> while ($count <= @array)
{<BR> print ("element $count:
$array[$count-1]\n");<BR> $count++;<BR> }<BR><BR><A
name=6、子數組>6、子數組</A> <BR> @array = (1, 2, 3, 4,
5);<BR> @subarray = @array[0,1]; # @subarray = (1,
2)<BR> @subarray2 = @array[1..3]; # @subarray2 =
(2,3,4)<BR> @array[0,1] = ("string", 46); # @array
=("string",46,3,4,5) now <BR> @array[0..3] = (11,
22, 33, 44); # @array = (11,22,33,44,5)
now<BR> @array[1,2,3] = @array[3,2,4]; # @array =
(11,44,33,5,5) now<BR> @array[0..2] = @array[3,4];
# @array = (5,5,"",5,5)
now<BR> 可以用子數組形式來交換元素:<BR> @array[1,2] =
@array[2,1];<BR><BR><A name=7、有關數組的庫函數>7、有關數組的庫函數</A>
<BR>(1)sort--按字符順序排序<BR> @array = ("this", "is",
"a","test");<BR> @array2 = sort(@array); # @array2
= ("a","is", "test", "this")<BR> @array = (70, 100,
8);<BR> @array = sort(@array); # @array = (100, 70,
8) now<BR>( 2)reverse--反轉數組<BR> @array2 =
reverse(@array);<BR> @array2 = reverse sort
(@array);<BR>(3)chop--數組去尾<BR> chop的意義是去掉STDIN(鍵盤)輸入字符串時最后一個字符--換行符。而如果它作用到數組上,則將數組中每一個元素都做如此處理。<BR> @list
= ("rabbit", "12345","quartz");<BR> chop (@list); #
@list = ("rabbi", "1234","quart") now<BR>(
4)join/split--連接/拆分<BR> join的第一個參數是連接所用的中間字符,其余則為待連接的字符數組。<BR> $string
= join(" ", "this", "is","a", "string"); # 結果為"this is a
string"<BR> @list =
("words","and");<BR> $string = join("::", @list,
"colons"); #結果為"words::and::colons"<BR> @array =
split(/::/,$string); # @array = ("words","and", "colons")
now</P></TD></TR></TBODY></TABLE>
<DIV align=center></DIV>
<DIV align=center><BR></DIV>
<DIV align=center><SPAN class=myFont><A
href="http://www.sun126.com/perl5/perl5-3.htm">上頁</A> <A
href="http://www.sun126.com/perl5/perl5-5.htm">下頁</A> <A
href="http://www.sun126.com/perl5/perl5index.htm">回目錄</A> <A
href="http://www.sun126.com/perl5/perl5-4.htm#a"><FONT face="Arial, 宋體">Go
Top</FONT></A></SPAN><BR><BR></DIV>
<TABLE height=50 cellSpacing=0 cellPadding=0 width="100%" bgColor=#000000
border=0>
<TBODY>
<TR>
<TD bgColor=#cccc99 height=4>
<DIV align=center><IMG height=4 src="" width=4></DIV></TD></TR>
<TR>
<TD height=50>
<DIV align=center><FONT class=myfont size=2><SPAN class=myfont><FONT
color=#99cc99><A href="http://www.sun126.com/bbs/ccb/index.cgi"><FONT
color=#99cc99>中國CCB論壇</FONT></A> 整理 麻辣
2003.7.10</FONT></SPAN></FONT><FONT class=myfont color=#99cc99
size=2><SPAN class=myfont><FONT
color=#99cc66><BR></FONT></SPAN></FONT><SPAN class=myfont><FONT
class=myfont><SPAN class=myfont><FONT face="Arial, Helvetica, sans-serif"
color=#99cc99>© 2000
http://www.sun126.com</FONT></SPAN></FONT></SPAN></DIV></TD></TR></TBODY></TABLE></BODY></HTML>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -