perl程序设计(五)

/ns/wz/comp/data/20010319094138.htm

赋值(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这个字
符串之后,再指派给$str1这个字符串
x=
$strx=$y;
$str=$strx$y;
重复$str字符串$y次,并反结果指派给
str这个字符串
算术(Arithmetic)运算符
符号
范例
说明
+
$z=$x+$y
将$x和$y相加之后,再将结果指派给$z
-
$z=$x-$y
将$x减掉$y之后,再将结果指派给$z
*
$z=$x*$y
将$x和$y相乘之后,再将结果指派给$z
/
$z=$x/$y
将$x除以$y之后,再将商数指派给$z
%
$z=$x%$y
将$x除以$y之后,再将余数指派给$z
**
$z=$x**$y
将$x乘以$y之后,再将结果指派给$z
++
$x++;++$x;
如同$x=$x++1;将$x加一以后再将结果指
派给$x
--
$x--;--$x;
如同$x=$x-1;将$x减一以后再将结果指
派给$x
.
$z=$x.$y;
将$x字符串和$y字符串连接之后,再将结
果指派给$z
数值(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');

指令: 判别运算式?运算1:运算式2 条件运算符(Conditional Operator)

说明: 这个语法的意义和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的值
-o $file
如果$file是被执行才所拥有的话,返回1的值
-s $file
返回$file的文件大小(bytes)
-f $file
如果$file是正常文件的话,返回1的值
-T $file
如果$file是文本文件的话,返回1的值
-B $file
如果$file是Binary文件的话,返回1的值
-M $file
返回$file文件最后一次更改时间到现在的日期数