Perl語言中的五大變量類型
本文和大家重點(diǎn)討論一下Perl語言中的變量類型,Perl語言中的變量有五種,每種都有各自的特點(diǎn)和作用,這里向大家簡單介紹一下,希望通過本文的學(xué)習(xí)大家對(duì)Perl語言中變量的這幾種類型有明確的認(rèn)識(shí)。
Perl語言中的變量類型
Perl語言中的變量有以下五種:
標(biāo)量,指針,數(shù)組,哈希表(hash)和句柄。
一、標(biāo)量
我們先來看看標(biāo)量,標(biāo)量是Perl語言中最簡單的一種數(shù)據(jù)類型。這種數(shù)據(jù)類型的變量可以是數(shù)字,字符串,浮點(diǎn)數(shù),不作嚴(yán)格的區(qū)分。在使用時(shí)在變量的名字前面加上一個(gè)“$”,表示是標(biāo)量,相當(dāng)于scalar中的***個(gè)S。
使用以下格式進(jìn)行定義:
$myfirst=123; #數(shù)字123
$mysecond="123"; #字符串123
$mythird="$myfirst,$mysecond"; #字符串123,123
$myforth='$myfirst,$mysecond'; #字符串$myfirst,$mysecond
數(shù)字類型的標(biāo)量可以使用0開頭代表是8進(jìn)制,用0x開頭代表是16進(jìn)制。例如:
$var1=017; #十進(jìn)制的15
$var2=0xf; #十進(jìn)制的15
還可以使用下面的格式:
$var3=123_456_7; #1234567
浮點(diǎn)數(shù)可以使用以下定義方式:
$var4=3.4;
$var5=4.3e+21;
$var6=234E345;
Perl語言中的字符串使用一個(gè)標(biāo)量來表示,定義方式和c很像,但是在Perl里面字符串不是用0來表示結(jié)束的。而且使用雙引號(hào)和單引號(hào)定義的字符串是不一樣的。使用雙引號(hào)定義的字符串里面出現(xiàn)的變量名會(huì)進(jìn)行替換,而且可以出現(xiàn)“\n\r\t”等控制字符。而用單引號(hào)定義的就不可以了使用反斜杠引導(dǎo)的控制命令了(當(dāng)然還可以使用反斜杠引道單引號(hào)和反斜杠),文本會(huì)按照字符串原來的樣子保存。
但是用單引號(hào)定義可以使用多行文本,如下所示:
$var7='這是一個(gè)使用
多行字符串文本
的例子';
$var8='\'\\'; #字符串'\
二、數(shù)組
在Perl語言中數(shù)組使用“@”引導(dǎo),“@”的意義應(yīng)該是相當(dāng)于array中的***個(gè)a吧(嘻嘻,猜的)。數(shù)組初始化使用()。我們可以采用如下方法初始化數(shù)組:
@var9=(1,2,3,4,5);
而當(dāng)引用數(shù)組中的元素時(shí)則使用下面的格式:
$var10=$var9[1];
數(shù)組前面的引導(dǎo)字符變成了“$”,表示這里是引用數(shù)組中的元素。
如果使用“@”作引導(dǎo)字符,那么剛才的例子就會(huì)返回?cái)?shù)組的長度。例如:
$length=@var9; #則$length會(huì)返回?cái)?shù)組長度也就是數(shù)組的元素個(gè)數(shù)5
三、哈希表(hash)
哈希表是一種很特別的數(shù)據(jù)結(jié)構(gòu),我在學(xué)習(xí)數(shù)據(jù)結(jié)構(gòu)時(shí)見過,叫做散列(Set),在使用Perl語言之前,我在borlandC++中見過一種類似的class,也叫做Set。在JavaScript中也提供了相似的數(shù)據(jù)結(jié)構(gòu),叫做關(guān)連數(shù)組AssociatedArray。
哈希表用“%”引導(dǎo)。定義方法如下:
%var11=("hello"=>"哈羅","nihao"=>"你好");
使用方法如下:
print$var11{"hello"}; #輸出哈羅$var11{"nihao"}="你好";
還可以使用下面的方法定義:
%var12=("hello","哈羅","nihao","你好");
這個(gè)方法的結(jié)果與上面的結(jié)果相同,但是我還是喜歡***種方法,而且建議你也使用***種方法。
四、句柄
句柄是一種特殊的數(shù)據(jù),用來保存系統(tǒng)資源的指針,例如文件,目錄,管道,socket等等。在***的Perl語言中,實(shí)際上可以不使用這種數(shù)據(jù)。句柄類型沒有引導(dǎo)字符。一般情況下大家習(xí)慣使用大寫字母來標(biāo)明句柄類型。例如下面的例子打開一個(gè)文件,讀出一行,然后關(guān)閉。
open(FILEHANDLE,"test.htm");
$templine=<FILEHANDLE>;
close(FILEHANDLE);
這里<>起從句柄中讀出一行的作用。
五、指針
Perl語言里面的指針分為兩種類型,一種成為軟指針,另一種稱為硬指針。下面將主要介紹一下硬指針。在Perl里面使用“\”來生成指針。如下面的例子:
$vavr13="hello";
$pointerto=\$var13;
這時(shí)$pointerto就是一個(gè)指向$var13的指針了。訪問指針指向的數(shù)據(jù)可以使用下面的方法。print$$pointerto;也就是加上一個(gè)$就可以了。Perl里面的指針與c里面的不同,Perl里面的指針是有引用計(jì)數(shù)的。也就是說,如果一個(gè)數(shù)據(jù)可以記住自己被幾個(gè)指針引用,當(dāng)沒有指針引用時(shí)這個(gè)數(shù)據(jù)會(huì)自動(dòng)釋放內(nèi)存。
【編輯推薦】
- Perl語言的文字處理模式
- Perl語言中向數(shù)據(jù)庫中寫值的特殊字符問題
- 用Perl和Google Earth創(chuàng)建可用性地圖
- Perl語言中的“指針”
- 如何在win98/NT上添加perl語言的各種模塊