深入学习Perl运算符用法

goldily 2010-07-14

本文继续和大家讨论一下Perl运算符的用法,这里介绍的Perl运算符主要包括自增自减运算符,字符串联结和重复运算符,逗号运算符,条件运算符和Perl运算符的优先级等内容,相信通过本文的的介绍你对Perl运算符有全面的认识。

Perl运算符

一、自增自减运算符:++、--

◆不要在变量两边都使用此种操作符:++$var--#error
◆不要在变量自增/减后在同一表达式中再次使用:$var2=$var1+++$var1;#error
◆在PERL中++可用于字符串,但当结尾字符为'z'、'Z'、'9'时进位,如:

$stringvar="abc";
$stringvar++;#$stringvarcontains"abd"now

$stringvar="aBC";
$stringvar++;#$stringvarcontains"aBD"now

$stringvar="abz";
$stringvar++;#$stringvarnowcontains"aca"

$stringvar="AGZZZ";
$stringvar++;#$stringvarnowcontains"AHAAA"

$stringvar="ab4";
$stringvar++;#$stringvarnowcontains"ab5"

$stringvar="bc999";
$stringvar++;#$stringvarnowcontains"bd000"
◆不要使用--,PERL将先将字符串转换为数字再进行自减
$stringvar="abc";
$stringvar--;#$stringvar=-1now

◆如果字符串中含有非字母且非数字的字符,或数字位于字母中,则经过++运算前值转换为数字零,因此结果为1,如:
$stringvar="ab*c";
$stringvar++;
$stringvar="ab5c";
$stringvar++;  

二、Perl运算符之字符串联结和重复运算符

1.联接:.
2.重复:x
3.联接且赋值(类似+=):.=
例:
$newstring="potato"."head";
$newstring="t"x5;
$a="be";
$a.="witched";#$aisnow"bewitched"

三、Perl运算符之逗号运算符

其前面的表达式先进行运算,如:
$var1+=1,$var2=$var1;
等价于
$var1+=1;
$var2=$var1;

使用此操作符的唯一理由是提高程序的可读性,将关系密切的两个表达式结合在一起,如:
$val=26;
$result=(++$val,$val+5);#$result=32
注意如果此处没有括号则意义不同:
$val=26;
$result=++$val,$val+5;#$result=27

四、Perl运算符之条件运算符

与C中类似,条件?值1:值2,当条件为真时取值1,为假时取值2,如:
$result=$var==0?14:7;
$result=43+($divisor==0?0:$dividend/$divisor);
PERL5中,还可以在赋值式左边使用条件操作符来选择被赋值的变量,如:
$condvar==43?$var1:$var2=14;
$condvar==43?$var1=14:$var2=14;

五、Perl运算符的优先级

相关推荐