第二章 簡單變量
|
| 基本上,簡單變量就是一個數據單元,這個單元可以是數字或字符串。 |
■【 整型 】 |
PERL最常用的簡單變量,由於其與其它語言基本相同,不再贅述。 例︰ $x = 12345; if (1217 + 116 == 1333) { # statement block goes here } 整型的限製︰ PERL實際上把整數存在你的計算機中的浮點寄存器中,所以實際上被當作浮點數看待。在多數計算機中,浮點寄存器可以存貯約16位數字,長於此的被丟棄。整數實為浮點數的特例。 2、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/local/bin/perl $value = 9.01e+21 + 0.01 - 9.01e+21; print ("first value is ", $value, "\n"); $value = 9.01e+21 - 9.01e+21 + 0.01; print ("second value is ", $value, "\n"); --------------------------------------------------------- $ program3_3 first value is 0 second value is 0.01 |
■【 字符串 】 |
慣用C的程序員要注意,在PERL中,字符串的末尾並不含有隱含的NULL字符,NULL字符可以出現在串的任何位置。 雙引號內的字符串中支持簡單變量替換,例如︰ $number = 11; $text = "This text contains the number $number."; 則$text的內容為︰"This text contains the number 11." 雙引號內的字符串中支持轉義字符 Table 3.1. Escape sequences in strings.
| Escape Sequence | Description | | \a | Bell (beep) | | \b | Backspace | | \cn | The Ctrl+n character | | \e | Escape | | \E | Ends the effect of \L, \U or \Q | | \f | Form feed | | \l | Forces the next letter into lowercase | | \L | All following letters are lowercase | | \n | Newline | | \r | Carriage return | | \Q | Do not look for special pattern characters | | \t | Tab | | \u | Force next letter into uppercase | | \U | All following letters are uppercase | | \v | Vertical tab | \L、\U、\Q功能可以由\E關閉掉,如︰ $a = "T\LHIS IS A \ESTRING"; # same as "This is a STRING" 要在字符串中包含雙引號或反斜線,則在其前加一個反斜線,反斜線還可以取消變量替換,如︰ $res = "A quote \" and A backslash \\"; $result = 14; print ("The value of \$result is $result.\n")的結果為︰ The value of $result is 14. 可用\nnn(8進製)或\xnn(16進製)來表示ASCII字符,如︰ $result = "\377"; # this is the character 255,or EOF $result = "\xff"; # this is also 255 單引號字符串︰ 單引號字符串與雙引號字符串有兩個區別,一是沒有變量替換功能,二是反斜線不支持轉義字符,而只在包含單引號和反斜線時起作用。單引號另一個特性是可以跨多行,如︰ $text = 'This is two lines of text '; 與下句等效︰ $text = "This is two\nlines of text\n"; 字符串和數值的互相轉換︰ 例1︰ $string = "43"; $number = 28; $result = $string + $number; # $result = 71 若字符串中含有非數字的字符,則從左起至第一個非數字的字符,如︰ $result = "hello" * 5; # $result = 0 $result = "12a34" +1; # $result = 13 變量初始值︰ 在PERL中,所有的簡單變量都有缺省初始值︰"",即空字符。但是建議給所有變量賦初值,否則當程序變得大而複雜後,很容易出現不可預料且很難調試的錯誤。 |
 CopyRight © 2001蜀 漢 皇 朝All Rights Reserved |