初次學習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的使用有很大的幫助,一點總結非常有限,以後會隨時補充。加油!