編程學習網 > 編程教程 > Perl 教程
2016
10-19

Perl 數據類型

清華大佬耗費三個月吐血整理的幾百G的資源,免費分享!....>>>

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.wangchenghua.com";
print "$str\n";

# 換行 \n 位于單引號內,無效
$str = '菜鳥教程  \nwww.wangchenghua.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";

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

掃碼二維碼 獲取免費視頻學習資料

編程學習