Perl 數據類型
Perl 是一種弱類型語言,所以變量不需要指定類型,Perl 解釋器會根據上下文自動選擇匹配類型。
Perl 有三個基本的數據類型:標量、數組、哈希。 以下是這三種數據類型的說明:
序號 | 類型和描述 |
---|---|
1 | 標量 標量是Perl語言中最簡單的一種數據類型。 這種數據類型的變量可以是數字,字符串,浮點數,不作嚴格的區分。 在使用時在變量的名字前面加上一個"$",表示是標量。 例如: $myfirst=123; #数字123 $mysecond="123"; #字符串123 |
2 | 數組 數組變量以字符"@"開頭,索引從0開始,如:@arr=(1,2,3) @arr=(1,2,3) |
3 | 哈希 哈希是一個無序的key/value 對集合。 可以使用鍵作為下標獲取值。 哈希變量以字符"%"開頭。 %h=('a'=>1,'b'=>2); |
數字字面量
一、整型
PERL實際上把整數存在你的計算機中的浮點寄存器中,所以實際上被當作浮點數看待。
在多數計算機中,浮點寄存器可以存貯約16位數字,長於此的被丟棄。 整數實為浮點數的特例。
整型變量及運算:
$x = 12345; if (1217 + 116 == 1333) { # 执行代码语句块 }
8進制和16進制數:8進制以0開始,16進制以0x開始。 例如:
$var1 = 047; # 等于十进制的39 $var2 = 0x1f; # 等于十进制的31
二、浮點數
浮點數數據如:11.4 、 -0.3 、.3 、 3. 、 54.1e+02 、 5.41e03。
浮點寄存器通常不能精確地存貯浮點數,從而產生誤差,在運算和比較中要特別注意。 指數的範圍通常為-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");
執行以上程序,輸出結果為:
第一个值为:0 第二个值为:0.01
三、字符串
Perl中的字符串使用一個標量來表示,定義方式和c很像,但是在Perl裡面字符串不是用0來表示結束的。
Perl雙引號和單引號的區別: 雙引號可以正常解析一些轉義字符與變量,而單引號無法解析會原樣輸出。
但是用單引號定義可以使用多行文本,如下所示:
#!/usr/bin/perl $var='这是一个使用 多行字符串文本 的例子'; print($var);
執行以上程序,輸出結果為:
这是一个使用 多行字符串文本 的例子
Perl 語言中常用的一些轉義字符如下表所示:
轉義字符 | 含義 |
---|---|
\\ | 反斜線 |
\' | 單引號 |
\" | 雙引號 |
\a | 系統響鈴 |
\b | 退格 |
\f | 換頁符 |
\n | 換行 |
\r | 回車 |
\t | 水平製表符 |
\v | 垂直製表符 |
\0nn | 創建八進制格式的數字 |
\xnn | 創建十六進制格式的數字 |
\cX | 控製字符,x可以是任何字符 |
\u | 強制下一個字符為大寫 |
\l | 強制下一個字符為小寫 |
\U | 強制將所有字符轉換為大寫 |
\L | 強制將所有的字符轉換為小寫 |
\Q | 將到\E為止的非單詞(non-word)字符加上反斜線 |
\E | 結束\L、\U、\Q |
實例
接下來讓我們來具體看看單引號和雙引號及轉義字符的使用:
#!/usr/bin/perl # 换行 \n 位于双引号内,有效 $str = "本教程 \nwww.w3big.com"; print "$str\n"; # 换行 \n 位于单引号内,无效 $str = '本教程 \nwww.w3big.com'; print "$str\n"; # 只有 R 会转换为大写 $str = "\uw3big"; print "$str\n"; # 所有的字母都会转换为大写 $str = "\Uw3big"; print "$str\n"; # 指定部分会转换为大写 $str = "Welcome to \Uw3big\E.com!"; print "$str\n"; # 将到\E为止的非单词(non-word)字符加上反斜线 $str = "\QWelcome to w3big's family"; print "$str\n";
以上實例執行輸出結果為: