数值(Numeric 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;&127;如果 $x小于$y,则返回-1的值 |
字符串(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 ep $str2 |
如果$str1等于$str2,返回1的值,否则返回0 |
ne |
$str1 ne $str2 |
如果$str1不等于$str2,返回1的值,否则返回0 |
cmp |
$str1 cmp $str2 |
如果$str1大于$str2,返回1的值,如果$str1等于$str2,返回0,如果$str1小于$str2,则返回-1的值 |
逻辑(Logical)运算
1) $x && $y(And)
$x $y 结果
真(True) 真(True) 真(True)
真(True) 假(False) 真(True)
假(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‘); # 此时 @total=(1,2,3‘A‘,‘B‘);
指令: 条件运算符(Conditional Operator)
说明: (判别运算式? 运算式1: 运算式2)这个语法的意义和C语言一样:如果判别运算式的值是真(True)的话,则做运算式 1 的运算;如果判别运算式是假(False)的话,则做运算式 2 的运算。
范例:
$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 |
-s $file |
返回 $file 的文件大小(bytes) |
-f $file |
如果 $file 是正常文件的话,返回 1 |
-T $file |
如果 $file 是文本文件的话,返回 1 |
-B $file |
如果 $file 是Binary文件的话,返回 1 |
-M $file |
返回 $file 文件最后一次更改时间到现在的日期数 |
|