一、賦值(Assignment)運算符
符號 |
範例 |
說明 |
= |
$x=$y; |
把$x的值賦給$y |
+= |
$x+=$y; |
$x=$x+$y;把$x加上$y後再賦值給$x |
-= |
$x-=$y; |
$x=$x-$y;把$x減$y後再賦值給$x |
*= |
$x*=$y; |
$x=$x*$y;把$x乘$y後再賦值給$x |
/= |
$x/=$y; |
$x=$x/$y;把$x除$y次方後再賦值給$x |
**= |
$x**=$y; |
$x=$x* *$y;求出$x乘$y次方後再賦值給$x |
%= |
$x%=$y; |
$x=$x%$y;把$x除以$y的餘數後再賦值給$x |
.= |
$str1.=$str2; |
$str1=$str1.$str2;把$str1這個字串再加上$str2這個字串後再賦值給$str這個字元串 |
x= |
$str x=$y; |
$str=$str x $y;迴圈$str字元$y次再把結果賦值給 |
二、運算(Arithmetic)運算符
符號 |
範例 |
說明 |
+ |
$a=$x+$y |
把$x和$y加後再賦值給$a |
- |
$a=$x+$y |
把$x和$y減後再賦值給$a |
* |
$a=$x*$y |
把$x和$y乘後再賦值給$a |
/ |
$a=$x/$y |
把$x和$y除後再賦值給$a |
% |
$a=$x%$y |
把$x和$y除後再餘數賦值給$a |
** |
$a=$x**$y |
把$x和$y乘次方後再賦值給$a |
++ |
$x++;++$x |
把$x加一後再賦值給$x |
-- |
$x--;--$x |
把$x減一後再賦值給$x |
. |
$a=$x.$y |
把$x字串和$y字串合拼後再賦值給$a |
三、數值(Number Values)運算符
符號 |
範例 |
說明 |
> |
$x>$y |
如果$x大於$y返回1否則返回0 |
>= |
$x>=$y |
如果$x大於等於$y返回1否則返回0 |
< |
$x<$y |
如果$x小於$y返回1否則返回0 |
<= |
$x<=$y |
如果$x小於等於$y返回1否則返回0 |
== |
$x==$y |
如果$x等於$y返回1否則返回0 |
!= |
$x!=$y |
如果$x不等於$y返回1否則返回0 |
<=> |
$x<=>$y |
如果$x大於$y返回1;如果$x等於$y返回0; |
四、字串(String Values)運算符
符號 |
範例 |
說明 |
gt |
$str1 gt $str2 |
如果$str1大於$str2返回1否則返回0 |
ge |
$str1 ge $str2 |
如果$str1大於等於$str2返回1否則返回0 |
lt |
$str1 lt $str2 |
如果$str1小於$str2返回1否則返回0 |
le |
$str1 le $str2 |
如果$str1小於等於$str2返回1否則返回0 |
eq |
$str1 eq $str2 |
如果$str1等於$str2返回1否則返回0 |
ne |
$str1 ne $str2 |
如果$str1不等於$str2返回1否則返回0 |
cmp |
$str1 cmp $str2 |
如果$str1大於$str2返回1;如果$str1=$str2返回0; |
五、邏輯(Logical)運算符
1.$x && $y(AND)
$x |
$y |
結果 |
真(True) |
真(True) |
真(True) |
真(True) |
假(False) |
假(False) |
假(False) |
真(True) |
假(False) |
假(False) |
假(False) |
假(False) |
2.$x || $y(OR)
$x |
$y |
結果 |
真(True) |
真(True) |
真(True) |
真(True) |
假(False) |
真(True) |
假(False) |
真(True) |
真(True) |
假(False) |
假(False) |
假(False) |
3.! $x(Not)
$x |
結果 |
真(True) |
假(False) |
假(False) |
真(True) |
六、其他運算符
指令: |
..區域運算符(Range Operator) |
|
說明: |
這個運算符是Perl語言中特別有用運算符且很實用。 |
|
範例: |
|
|
|
@digits=(1..9); |
#這時@digits=(1,2,3,4,5,6,7,8,9); |
|
@digits=('01'..'05'); |
#這時@digits=(01,02,03,04,05); |
|
@char=('A'..'E'); |
#這時@char=(A,B,C,D,E); |
|
@total=(1..3,'A'..'B'); |
#這時@totalr=(1,2,3'A','B'); |
指令: |
判斷運算式?運算式1:運算式2條件運算符 |
|
說明: |
這個運算符的意義和C語言一樣,如果判斷運算式的值是真的 |
|
範例: |
|
|
|
$price=($age>60)?100:200; |
|
|
如果$age大於60的話,則$price等於100;否則$price等於200。 |
七、常用的文件資料(File test)運算符
範例 |
說明 |
-r $file |
如果$file是可讀取的話,返回1的值 |
-w $file |
如果$file是可寫入的話,返回1的值 |
-x $file |
如果$file是可執行的話,返回1的值 |
-e $file |
如果$file存在的話,返回1的值 |
-o $file |
如果$file是被執行者所擁有的話,返回1的值 |
-s $file |
返回$file的文件大小(bytes) |
-f $file |
如果$file是正常文件的話,返回1的值 |
-t $file |
如果$file是文字檔案的話,返回1的值 |
-b $file |
如果$file是binary文件的話,返回1的值 |
-m $file |
返回文件最後一次更改時間到現在的日期數 |
指令:#
說明:注示符號Remark宣告
示例:#這是一個注示說明
指令:print
語法:print Filehandle LIST
說明:這個Filehandle可以看作在I(INPUT)/O(OUTPUT)之間的一個橋梁,可以利
用FILEHANDLE來做出資料讀入寫 出的動作.STDIN是代表從哪連輸入資料,例如
從電腦的鍵盤輸入;STDOUT是代表從哪連輸出資料;例如從電腦的螢幕輸出;
STDERR是代表從哪連輸出錯誤的資料,例如從電腦的螢幕輸出.而在PERL語言中
有三個標準FILEHANDLE:
1.STDIN(標準輸入):是代表STDIN的FILEHANDLE
2.STDOUT(標準輸出):是代表STDOUT的FILEHANDLE
3.STDERR(標準錯誤輸出):是代表STDERR的FILEHANDLE
如果要使用其他FILEHANDLE的時候,就要用OPEN這個函數來打開一個FILEHAN
DLE,我們可以用PRINT這個函數LIST的資料輸出給FILEHANDLE.在爲大家介紹
PRINT這個函數之前,先讓我們來看看PRINT函數中特殊列印字元其作用:
\n |
換行 |
\r |
游標換行 |
\t |
tab鍵 |
\f |
換頁 |
\b |
退回一格 |
\v |
垂直tab鍵 |
\a |
響鈴Bell |
\e |
Escape鍵 |
\007 |
十進位ascii碼 |
\xff |
十六進位碼 |
\c[ |
控制字元 |