Perl运算符

本文概述

  • Perl运算符优先级
  • Perl运算符优先级表
  • Perl操作员关联
  • Perl关联表
  • 佩尔·阿里特
  • Perl固定性
perl运算符是用作语法的一系列符号。运算符是一种函数, 其操作数是参数。
Perl运算符优先级Perl优先级的行为类似于数学中的BODMAS。加法和减法始终在乘法和除法之后。
【Perl运算符】例如,
8 + 4 - 5 * 6 / 3 = 2

在这里, 使用BODMAS规则的答案将为2。将首先计算(6/3 = 2), 然后将商2乘以5, 然后进行减法和加法运算。
例:
use 5.010; use strict; use warnings; my $result1 = 8 + 4 - 5 * 6 / 3 ; say $result1; my $result2 = 12 * 3 + 2 ** 2 < < 1; say $result2;

输出
2 80

Perl运算符优先级表
Operators Description
++, — 自动递增, 自动递减
-, ~, ! 具有一个操作数的运算符
** Exponentiation
=~, !~ 模式匹配运算符
*, /, %, X 乘法, 除数, 余数, 重复
+, -, . 加, 减, 串联
< < , > > Shifting operators
-e, -r 文件状态运算符
< , < =, > , > =, lt, le, gt, ge 不等式比较运算符
== , ! =, < => , eq, nq, cmp 平等比较算子
& 按位与
|, ^ 按位OR和XOR
& & 逻辑与
|| 逻辑或
. . 列表范围运算符
?和: 条件运算符
=, +=, -=, *= 赋值运算符
, Comma operator
not 低优先级逻辑非
and 低优先级逻辑与
低优先级逻辑OR和XOR
Perl操作员关联运算符的关联性可帮助你决定从(从左到右)还是从(从右到左)评估方程式。
操作顺序非常重要。有时双方都是相同的, 但有时会产生巨大差异。
例如,
7 + 4 + 2 = 13

这个问题的答案从左到右在任何顺序上都是相同的。
3 ?? 2 ?? 3
这个问题的答案是左起(9 ?? 3)和右起(3 ?? 8)。这两个答案有很大的不同。
例:
use 5.010; use strict; use warnings; my $result = 3 ** 2 ** 3; say $result;

输出
6561

Perl关联表
Operators Description
++, — 方向顺序在此不适用
-, ~, ! Right-to-Left
** Right-to-Left
=~, !~ Left-to-Right
*, /, %, X Left-to-Right
+, -, . Left-to-Right
< < , > > Left-to-Right
-e, -r 方向顺序在此不适用
< , < =, > , > =, lt, le, gt, ge Left-to-Right
== , ! =, < => , eq, ne, cmp Left-to-Right
& Left-to-Right
|, ^ Left-to-Right
& & Left-to-Right
|| Left-to-Right
.. Left-to-Right
?和: Right-to-Left
=, +=, -=, *= Right-to-Left
, Left-to-Right
not Left-to-Right
and Left-to-Right
Left-to-Right
佩尔·阿里特运算符的数量可以定义为对其进行运算的操作数的数量。
无效运算符对零操作数进行操作, 一元运算符对一个操作数进行操作, 二进制运算符对两个操作数进行操作, 列表运算符对操作数列表进行操作。
例如,
3 + 3 ? 2

算术运算符通常保持关联。在这里, (3 + 3)首先求值, 然后转到第二个(-)运算符。
例:
use 5.010; use strict; use warnings; my $result = ( 5 - 2 + 10 ) * 2; say $result;

输出
26

Perl固定性运算符固定性可以定义为其相对于其操作数的位置。
例如,
  • 中缀运算符出现在其操作数之间。3 + 2
    此处, +运算符出现在操作数3和2之间
  • 前缀运算符出现在其操作数之前。! $ a, -3x
    这里, !和-运算符出现在操作数$ a和3之前。
  • Postfix运算符出现在其操作数之后。$ x ++
    此处, ++运算符出现在操作数$ x之后。
  • Circumfix运算符围绕其操作数。例如哈希构造函数和引用运算符。(一些[… ])
  • 后缀运算符遵循某些操作数并围绕某些操作数。$ hash {$ a}

    推荐阅读