Perl 中操作符有三种元数: 一元(unary)、二元(binary) 和三元(trinary).
一元操作符总是前缀操作符(除自增和自减操作符以外). 其他都是中缀操作符,.
! $x # 一元操作符 $x * $y # 一元操作符 $x ? $y : $z # 一元操作符 print $x, $y, $z # 一元操作符
操作符的优先级控制它绑定的松紧度. 高优先级的操作符先低于低优先级的操作符抢抢占它们周围的参数. 优先级的原理可以直接在基本的数学里边找到.
2 + 3 * 4 # 生成 14 而不是 20
两个同等优先级的操作符在一起时, 它们的执行顺序取决于它们的结合性.
2 * 3 * 4 # 意味着( 2*3 )*4 左结合 2 ** 3 ** 4 # 意味着 2**(3**4) 右结合 2 != 3 != 4 # 非法, 不能结合
操作符优先级
结合性 | 元数 | 优先级 |
无 | 0 | 项和列表操作符(左侧) |
左 | 2 | -> |
无 | 1 | ++ -- |
右 | 2 | ** |
右 | 1 | ! ~ \ 和一元 + 及 - |
左 | 2 | =~ !~ |
左 | 2 | * / % x |
左 | 2 | + - . |
左 | 2 | << >> |
右 | 0,1 | 命名一元操作符 |
无 | 2 | < > <= >= lt gt le ge |
无 | 2 | == != <=> eq ne cmp |
左 | 2 | & |
左 | 2 | | ^ |
左 | 2 | && |
左 | 2 | || |
无 | 2 | .. ... |
右 | 3 | ?: |
右 | 2 | + += -+ *= 等等 |
左 | 2 | , => |
右 | 0+ | 列表操作符(右侧) |
右 | 1 | not |
左 | 2 | and |
左 | 2 | or xor |
d
d
d
d
项和列表操作符(左向)
ddd
箭头操作符
dd
自增自减操作符
dd
指数运算
dd
表意一元操作符
dd
绑定操作符
dd
乘号操作符
dd
附加操作符
dd
移位操作符
dd
命名一元操作符和文件测试操作符
dd
关系操作符
dd
相等操作符
dd
位操作符
dd
C 风格的逻辑(短路)操作符
dd
范围操作符
dd
条件操作符
dd
赋值操作符
dd
逗号操作符
dd
列表操作符(右向)
dd
逻辑与、或、非和异或
dd
Perl 中没有的 C 操作符
dd
dd
dd
dd
dd
dd
dd
时间: 2024-11-05 23:29:23