-- Start
Perl 除了支持其他语言都支持的运算符外,它还支持一些特殊的运算符。
算术运算符
#!/usr/bin/perl $x = 2; $y = 3; $r = $x + $y; #加 print "$r\n"; $r = $x - $y; #减 print "$r\n"; $r = $x * $y; #乘 print "$r\n"; $r = $x / $y; #除 print "$r\n"; $r = $x ** $y; #幂,相当于2的3次方 print "$r\n"; $r = $x % $y; #余 print "$r\n";
数字比较运算符
#!/usr/bin/perl $x = 2; $y = 3; if($x < $y) { print "$x < $y\n"; } if($x > $y) { print "$x > $y\n"; } if($x == $y) { print "$x == $y\n"; } if($x <= $y) { print "$x <= $y\n"; } if($x >= $y) { print "$x >= $y\n"; } if($x != $y) { print "$x > $y\n"; } $r = ($x <=> $y); if($r == -1) { print "$x < $y\n"; } elsif ($r == 0) { print "$x == $y\n"; } elsif ($r == 1) { print "$x > $y\n"; }
串比较运算符
#!/usr/bin/perl $x = 'a'; $y = 'b'; if($x lt $y) { print "$x less than $y\n"; } if($x gt $y) { print "$x greater than $y\n"; } if($x eq $y) { print "$x equals $y\n"; } if($x le $y) { print "$x less equal $y\n"; } if($x ge $y) { print "$x greater equal $y\n"; } if($x ne $y) { print "$x not equal $y\n"; } $r = ($x cmp $y); if($r == -1) { print "$x less than $y\n"; } elsif ($r == 0) { print "$x equals $y\n"; } elsif ($r == 1) { print "$x greater than $y\n"; }
串连接和串重复
#!/usr/bin/perl $x = 'a'; $y = 'b'; # 字符串连接 $r = $x.$y; # 结果为 ab print "$r\n"; # 字符串重复 $r = 'a' x 3; # 结果为 aaa
逻辑运算符
#!/usr/bin/perl $x = 'a'; $y = 'b'; $z = 'c'; if($x > $y && $y > $z) { print "test &&\n"; } if($x > $y || $y > $z) { print "test ||\n"; } if(!($x > $y)) { print "test !\n"; } if($x > $y and $y > $z) { print "test and\n"; } if($x > $y or $y > $z) { print "test or\n"; } if(not($x > $y)) { print "test not\n"; } if($x > $y xor $y > $z) { print "test xor\n"; }
位运算符
#!/usr/bin/perl # 按位与 & # 按位或 | # 按位非 ~ # 按位异或 ^ # 左移(相当于乘2) << # 右移(相当于除2) >>
赋值运算符
#!/usr/bin/perl # = # += # -= # *= # /= # %= # **= # &= # |= # ^= # .=
自增自减运算符
#!/usr/bin/perl # ++ # --
逗号运算符
#!/usr/bin/perl $a+=1,$b=$a; $a+=1; $b=$a;
条件运算符
#!/usr/bin/perl $x = 2; $y = 3; $r = ($x > $y) ? ($x - $y) : ($y - $x); print $r;
-- 更多参见:Perl 精萃
-- 声 明:转载请注明出处 -- Last Updated on 2012-06-19 -- Written by ShangBo on 2012-06-18 -- End