新聞中心
本文和大家重點討論一下Perl變量的概念,在Perl中Perl變量有三種,分別是純Perl變量,數(shù)組,和關(guān)聯(lián)數(shù)組。那么這三種Perl變量有什么特點和作用呢,請看本文詳細介紹。

成都網(wǎng)站建設(shè)、做網(wǎng)站的關(guān)注點不是能為您做些什么網(wǎng)站,而是怎么做網(wǎng)站,有沒有做好網(wǎng)站,給成都創(chuàng)新互聯(lián)一個展示的機會來證明自己,這并不會花費您太多時間,或許會給您帶來新的靈感和驚喜。面向用戶友好,注重用戶體驗,一切以用戶為中心。
Perl變量
Perl有三種Perl變量:
純Perl變量(ScalarVarible)
數(shù)組(Array)
關(guān)聯(lián)數(shù)組(Associativearray)
一、純變量
又稱標量Perl變量,是Perl處理的最簡單的數(shù)據(jù)類型。標量可以是數(shù)字(如2,3或2.5e6),也可以是字符串(如“hello”和“網(wǎng)上學園”)。
Perl中的標量Perl變量以美元符號$和一個字母開始,以后可以是字母、數(shù)字和下劃線,大小寫有區(qū)別,而且所有字母、數(shù)字和下劃線都有效。如:
$a和$A是不同的Perl變量;
$this_is_a_long_variable_1和
$this_is_a_long_variable_2是不同的Perl變量;
Perl中的Perl變量可以通過操作符(如+或.等)來產(chǎn)生新的Perl變量。你可以從文件和設(shè)備中讀取Perl變量,也可以將其輸出。
使用純量Perl變量時要在前面加上$符號,注意:指定的純Perl變量是一個字符的話,就要加上""雙引號或單引號;如果是數(shù)值的話,就不用加上""這個符號。
標量數(shù)據(jù)又可以分為數(shù)字和字符串兩種:
數(shù)字
可分為整型Perl變量和浮點Perl變量。
整型Perl變量:(如2,-200,3568等)。Perl支持8進制和16進制Perl變量,8進制以0開頭(如0255,表示8進制的255),16進制以0x或0X開頭(如-0x1a,代表負的1A)
實型Perl變量:(如2.5,-6.3e5,-2.3-e6等)。
字符串
最短的字符串可以沒字符,最長可以把你的內(nèi)存填滿,這與Perl的“無內(nèi)置限制”的原則一致。
字符串有兩種格式:單引字符串和雙引字符串。
單引字符串(single-quotedstring):就是用單引號括起來的一串字符。該單引字符串不是字符串的一部分。引號中可以插入任何字符。只有兩種情況例外,一種是中間插入單引號,并在前面有一反斜杠;一種是字符串有兩個連著的反斜杠。
雙引字符串(double-quotedstring):就是用雙引號括起來的一串字符,其作用類似于C語言。
雙引字符串中反斜杠轉(zhuǎn)義表
標量Perl變量的運算符
1、賦值運算符
如:$a=23;#將23賦值給$a
$b=$a=23;#將23賦值給$a和$b
$b=3+($a=2);#將2賦值給$a,再加3將值賦給$b,即$b為5
2、二元賦值運算符
如:$a=+3;#等同于$a=$a+3
這與C語言中基本相同。
3、自增自減運算符
如:$a++;#等同于$a=$a+1
這與C語言中基本相同。
4、chop()運算符
如:$a="hello";
chop($a);#此時$a的值為"hell"。
這對于從屏幕獲取文本后去除換行符很有用。
如:$a=
chop($a);#去除最后的換行符。
這兩行可合并為:
chop($a=
5、字符串的標量插入值
如:$a="zmd";
$b="hello!$a";
$b的值為"hello!zmd"。
綜合示例
#p#
二、數(shù)組
數(shù)組是標量數(shù)據(jù)的有序列表。
數(shù)組可以含任意多個元素。最小的數(shù)組可以不含元素,而最大的數(shù)組可以占滿全部可用內(nèi)存。
數(shù)組實量(arrayliteral)是位于括號內(nèi)用逗號分開的一系列值。如:
(1,2,3,4,5)#具有1,2,3,4,5五個數(shù)值的數(shù)組
("zmd",1974,173.5)#具有"zmd",1974,173.5三個數(shù)值的數(shù)組
()#空數(shù)組
($a,5)#兩個數(shù)值:$a的值和5
($a+$b,6)#兩個數(shù)值
數(shù)組Perl變量具有單獨的數(shù)組值,要以@打頭而不是$。如:@zmd
注意@zmd與$zmd沒任何聯(lián)系。Perl為對象的不同類型保留獨立的命名空間。
數(shù)組的賦值和標量賦值一樣,也用等號表示。Perl根據(jù)賦值對象是標量還是數(shù)組Perl變量來確定賦值操作是標量賦值還是數(shù)組賦值。
若數(shù)組實量中只含有Perl變量引用(不是表達式),則此數(shù)組實量也可作為Perl變量使用。它可以用在賦值運算符的左邊。例如:
($a,$b,$c)=(1,2,3)#將1賦給$a,2賦給$2,3賦給$3
如果把數(shù)值Perl變量賦給標量Perl變量,則賦給標量Perl變量的就是數(shù)組長度,如:
@zmd=(1,2,3)#將(1,2,3)賦給@zmd
$a=@zmd#$a為3,即@zmd的數(shù)組個數(shù)
數(shù)組元素的訪問和C語言中類似,下標是按順序整數(shù)排列的,編號從0開始。
($a,$b,$c)=(1,2,3)#將1賦給$a,2賦給$2,3賦給$3
如果把數(shù)值Perl變量賦給標量Perl變量,則賦給標量Perl變量的就是數(shù)組長度,如:
@zmd=(1,2,3)#將(1,2,3)賦給@zmd
$a=@zmd#$a為3,即@zmd的數(shù)組個數(shù)
綜合舉例
#p#
三、關(guān)聯(lián)數(shù)組
Perl變量的關(guān)聯(lián)數(shù)組和前面說的數(shù)組類似,它包含標量數(shù)據(jù),可用索引值來單獨選擇這些數(shù)據(jù),和數(shù)組不同的是,關(guān)聯(lián)數(shù)組的索引值不是非負的整數(shù)而是任意的標量。這些標量稱為Keys,可以在以后用于檢索數(shù)組中的數(shù)值。
關(guān)聯(lián)數(shù)組的元素沒有特定的順序,你可以把它們想象為一組卡片。每張卡片上半部分是索引而下半部分是數(shù)值。
關(guān)聯(lián)數(shù)組是Perl語言中特有的,關(guān)聯(lián)數(shù)組是一個功能強大的數(shù)組。使用關(guān)聯(lián)數(shù)組時要在前面加上%號,關(guān)聯(lián)數(shù)組的格式如:
%ARRAY=(key1,value1,key2,value2,key3,value3);
每一個key都有一個相對應的值(value)。
和數(shù)組類似,$zmd,@zmd,%zmd之間沒有任何聯(lián)系。Perl為對象的不同類型保留獨立的命名空間。
Perl變量中關(guān)聯(lián)數(shù)組的操作:
在關(guān)聯(lián)數(shù)組中增加、更改一對數(shù)據(jù):ARRAY={key}=value;在關(guān)聯(lián)數(shù)組ARRAY中加上一對key-value,要在關(guān)聯(lián)數(shù)組名稱前加上$號,而且key的名稱要在{}符號之間,最后再指定key所對應的value值。如果在這個關(guān)聯(lián)數(shù)組中已經(jīng)有這個key了.就會更改這個key所對應的value。
keys(%array)操作符可生成由關(guān)聯(lián)數(shù)組%array中的所有當前關(guān)鍵字組成的列表。即返回奇數(shù)個元素(第1,3,5,7...個)的列表。
values(%array)操作符返回由關(guān)聯(lián)數(shù)組%array中所有當前值組成的列表,即返回偶數(shù)個列表。
echo(%array)操作符返回由一個關(guān)鍵字和一個值對構(gòu)成的兩個元素的表。對同一數(shù)組再操作時返回下一對值直至結(jié)束。若沒有更多的對時,echo()返回空表。(這在打印全部列表中很有用)
刪除一對在關(guān)聯(lián)數(shù)組中的數(shù)據(jù):delete$ARRAY{key};delete是Perl所提供的函數(shù),作用是刪除關(guān)聯(lián)數(shù)組中的一個key以及這個key所對應的value。使用方法是在delete函數(shù)之后,指定關(guān)聯(lián)數(shù)組中要刪除的key名稱。
關(guān)聯(lián)數(shù)組的綜合舉例:
標題名稱:解析三大Perl變量用法
標題URL:http://www.fisionsoft.com.cn/article/dhohpjg.html


咨詢
建站咨詢
