learning perl(一)標量 數組 哈希

初次學習perl語言,特寫下博客記錄自己的學習經歷,既是一個簡單的總結,也希望藉此來使我堅持走下去。


perl有三種數據類型,分別是標量($),數組(@),哈希(%)

1.標量(scalar)

perl中的標量與C++中的變量類似,不同的是不管是聲明(perl不需要聲明標量大笑)還是使用都要加’$‘符號,所謂標量,一個詞,包含很多東西。

a)數字。如浮點數,整數(格式都是雙精度浮點數),以及任意進制。數字中間可以用’_‘相連,如12_34_56_78 = 12345678。

操作符很簡單了,四則運算(+-*/),取模(%),乘冪(2**3)。

b) 字符串。perl中的字符串沒有限制,在內存允許範圍內,可以任意長度微笑。字符串的分類有兩種:

單引號內的字符串,如’hello‘,除了單引號和反斜線(需要加反斜線轉義),其他字符都代表其本身。

雙引號內的字符串,如"world",與上面相似,不過可以使用各種轉義字符;還可以使用變量內插。

字符串操作符可以用'.'連接,如"hello"."world";字符串重複操作符’x‘(若是數字,會先取整),如“hi” x 3 = “hihihi”。


c) 數字與字符串的轉換。perl會自動進行相互轉換,這需要判斷語境了。


d) 標量的賦值。與其他語言相同,也有=, +=, .= 等等。 如果標量未被賦值,則用空字符串代替。


e)比較操作符。==(eq), !=(ne), <(lt),  <=(le),  >(gt),  >=(ge)。


2.數組(array)


數組使用@符號表示,如@arr1。但是訪問數組元素一般使用$arr1[0]。

數組的索引值可以爲負,表示從最後一個算起,如$arr1[-1]表示數組最後一個元素。另外,取數組的總長度,即數組的元素個數,可以用$#arr1。

列表的賦值。@arr1 = qw/hello world /;使用範圍操作符'..'可以表示一個範圍,如1..4 相當於1 2 3 4。

數組的操作。可以使用pop,push,shift,unshift來獲取或者放入數組前後的元素,如push @arr1, hello。 $val = pop @arr1。reverse 反轉數組的元素,sort進行排序,使用foreach更好的輸出,如 foreach $val(@arr1){

print "$val\n";

}

可以輸出全部元素。而如果不使用$val,會自動用默認變量$_代替,非常方便。

數組在不同的上下文環境會改變自己的含義,有時是一個數組,有時是一個標量。


3.哈希(hash)


哈希,通俗來說就是鍵-值對。用%hash表示。

哈希的賦值,一種是$hash{$key} = $val;一種是%hash = ("1" => "hello" , "2" => "world");

哈希函數。keys與values分別以數組返回哈希的全部鍵和值。而$num = %hash得到哈希的元素個數。each函數返回每個鍵值對,可以這樣用:

while (($key, $val) = each %hash) {

print "$key => $val\n";

}

exists函數,檢查是否含有某個鍵,如 if (exists $hash{$key}){ }。delete函數,刪除指定的鍵與值,如 delete $hash{$key}。

這些就是perl中基本的數據類型,非常簡單,但是靈活掌握會對perl的使用有很大的幫助,一點總結非常有限,以後會隨時補充。加油!微笑

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章