top
Loading...
Perl 數據類型

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.sharebody.com"; print "$str\n"; # 換行 \n 位於單引號內,無傚 $str = '教程 \nwww.sharebody.com'; print "$str\n"; # 只有 R 會轉換為大寫 $str = "\urunoob"; print "$str\n"; # 所有的字母都會轉換為大寫 $str = "\Urunoob"; print "$str\n"; # 指定部分會轉換為大寫 $str = "Welcome to \Urunoob\E.com!"; print "$str\n"; # 將到\E為止的非單詞(non-word)字符加上反斜線 $str = "\QWelcome to runoob's family"; print "$str\n";

以上實例執行輸出結果為:

北斗有巢氏 有巢氏北斗