Perl 數(shù)據(jù)類型
Perl 是一種弱類型語言,所以變量不需要指定類型,Perl 解釋器會根據(jù)上下文自動選擇匹配類型。
Perl 有三個基本的數(shù)據(jù)類型:標量、數(shù)組、哈希。以下是這三種數(shù)據(jù)類型的說明:
數(shù)字字面量
一、整型
PERL實際上把整數(shù)存在你的計算機中的浮點寄存器中,所以實際上被當作浮點數(shù)看待。
在多數(shù)計算機中,浮點寄存器可以存貯約16位數(shù)字,長于此的被丟棄。整數(shù)實為浮點數(shù)的特例。
整型變量及運算:
$x = 12345; if (1217 + 116 == 1333) { # 執(zhí)行代碼語句塊 }
8進制和16進制數(shù):8進制以0開始,16進制以0x開始。例如:
$var1 = 047; # 等于十進制的39 $var2 = 0x1f; # 等于十進制的31
二、浮點數(shù)
浮點數(shù)數(shù)據(jù)如:11.4 、 -0.3 、.3 、 3. 、 54.1e+02 、 5.41e03。
浮點寄存器通常不能精確地存貯浮點數(shù),從而產(chǎn)生誤差,在運算和比較中要特別注意。指數(shù)的范圍通常為-309到+308。 例如:
#!/usr/bin/perl $value = 9.01e+21 + 0.01 - 9.01e+21; print ("第一個值為:", $value, "\n"); $value = 9.01e+21 - 9.01e+21 + 0.01; print ("第二個值為:", $value, "\n");
執(zhí)行以上程序,輸出結(jié)果為:
第一個值為:0 第二個值為:0.01
三、字符串
Perl中的字符串使用一個標量來表示,定義方式和c很像,但是在Perl里面字符串不是用0來表示結(jié)束的。
Perl雙引號和單引號的區(qū)別: 雙引號可以正常解析一些轉(zhuǎn)義字符與變量,而單引號無法解析會原樣輸出。
但是用單引號定義可以使用多行文本,如下所示:
#!/usr/bin/perl $var='這是一個使用 多行字符串文本 的例子'; print($var);
執(zhí)行以上程序,輸出結(jié)果為:
這是一個使用 多行字符串文本 的例子
Perl 語言中常用的一些轉(zhuǎn)義字符如下表所示:
轉(zhuǎn)義字符 | 含義 |
---|---|
\\ | 反斜線 |
\' | 單引號 |
\" | 雙引號 |
\a | 系統(tǒng)響鈴 |
\b | 退格 |
\f | 換頁符 |
\n | 換行 |
\r | 回車 |
\t | 水平制表符 |
\v | 垂直制表符 |
\0nn | 創(chuàng)建八進制格式的數(shù)字 |
\xnn | 創(chuàng)建十六進制格式的數(shù)字 |
\cX | 控制字符,x可以是任何字符 |
\u | 強制下一個字符為大寫 |
\l | 強制下一個字符為小寫 |
\U | 強制將所有字符轉(zhuǎn)換為大寫 |
\L | 強制將所有的字符轉(zhuǎn)換為小寫 |
\Q | 將到\E為止的非單詞(non-word)字符加上反斜線 |
\E | 結(jié)束\L、\U、\Q |
實例
接下來讓我們來具體看看單引號和雙引號及轉(zhuǎn)義字符的使用:
#!/usr/bin/perl # 換行 \n 位于雙引號內(nèi),有效 $str = "W3Cschool教程 \nm.hgci.cn"; print "$str\n"; # 換行 \n 位于單引號內(nèi),無效 $str = 'W3Cschool教程 \nm.hgci.cn'; print "$str\n"; # 只有 w 會轉(zhuǎn)換為大寫 $str = "\uw3cschool"; print "$str\n"; # 所有的字母都會轉(zhuǎn)換為大寫 $str = "\Uw3cschool"; print "$str\n"; # 指定部分會轉(zhuǎn)換為大寫 $str = "Welcome to \Uw3cschool\E.cn!"; print "$str\n"; # 將到\E為止的非單詞(non-word)字符加上反斜線 $str = "\QWelcome to w3cschool's family"; print "$str\n";
以上實例執(zhí)行輸出結(jié)果為:
更多建議: