Perl 資料型別
Perl 是一種弱型別語言,所以變數不需要指定類型,Perl 解譯器會根據上下文自動選擇符合類型。
Perl 有三個基本的資料型態:標量、陣列、雜湊。以下是這三種資料類型的說明:
#序號 | #類型和描述 |
---|---|
1 | ##1 |
標量 | 標量是Perl語言中最簡單的一種資料型別。這種資料類型的變數可以是數字,字串,浮點數,不作嚴格的區分。使用時在變數的名字前面加上一個"$",表示是標量。例如:$myfirst=123; #数字123 $mysecond="123"; #字符串123 | 2
陣列 | 陣列變數以字元"@"開頭,索引從0開始,如:@arr=(1,2,3)@arr=(1,2,3) | 3
%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 語言中常用的一些轉義字元如下表所示:
轉義字元 | 意思 |
---|---|
反斜線 | |
單引號 | |
雙引號 | |
系統響鈴 | |
#\b | |
#\f | |
\n | |
\r | |
\t | |
##\v | |
\0nn | |
\xnn | |
\cX | |
\u | |
\l | |
\U | |
\L | |
\Q |
#!/usr/bin/perl # 换行 \n 位于双引号内,有效 $str = "php中文网 \nwww.php.cn"; print "$str\n"; # 换行 \n 位于单引号内,无效 $str = 'php中文网 \nwww.php.cn'; print "$str\n"; # 只有 R 会转换为大写 $str = "\uphp"; print "$str\n"; # 所有的字母都会转换为大写 $str = "\Uphp"; print "$str\n"; # 指定部分会转换为大写 $str = "Welcome to \Uphp\E.com!"; print "$str\n"; # 将到\E为止的非单词(non-word)字符加上反斜线 $str = "\QWelcome to php's family"; print "$str\n";###以上實例執行輸出結果為:################