基本上,簡單變量就是一個數據單元,這個單元可以是數字或字符串。

 

【 整型 】

 

 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

\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中,所有的簡單變量都有缺省初始值︰"",即空字符。但是建議給所有變量賦初值,否則當程序變得大而複雜後,很容易出現不可預料且很難調試的錯誤。