Perl 运算符
-
运算符
使用表达式 4+5等于9可以给出简单答案。这里4和5称为操作数,而+称为运算符。Perl 语言支持许多运算符类型,但是以下是重要且最常用的运算符列表-- 算术运算符
- 关系运算符
- 逻辑运算符
- 赋值运算符
- 按位运算符
- 逻辑运算符
- 类引用运算符
- 杂项运算符
让我们一一看一下所有的运算符。 -
算术运算符
假设变量$a持有10而变量$b持有20,那么以下是Perl算术运算符-操作符 描述 例子 + 加两个操作数。 $a + $b将得到30 - 从第一个减去第二个操作数。 $a-$b将得到-10 * 将两个操作数相乘。 $a * $b将给出200 / 将分子除以除分母。 $b / $a将给出2 % 模运算符和整数除法后的余数。 $b % $a将给出0 ** 对运算符执行指数(幂)计算 $a ** $b将得到10的20次方 范例: -
关系运算符
假设变量$a持有10,变量$b持有20,那么让我们检查以下数值关系运算符操作符 描述 例子 == 检查两个操作数的值是否相等。如果是,则条件变为真。 ($a == $b)为false。 != 检查两个操作数的值是否相等。如果值不相等,则条件为真。 ($a != $b)为true。 <=> 检查两个操作数的值是否相等,并根据左参数在数值上小于,等于或大于右参数而返回-1、0或1。 ($a <=> $b)为 -1。 > 检查左操作数的值是否大于右操作数的值。如果是,则条件变为真。 ($a > $b) 为false。 < 检查左操作数的值是否小于右操作数的值。如果是,则条件变为真。 ($a < $b)为true。 >= 检查左操作数的值是否大于或等于右操作数的值。如果是,则条件变为真。 ($a > = $b)为false。 <= 检查左操作数的值是否小于或等于右操作数的值。如果是,则条件变为真。 ($a <= $b)为true。 范例:字符串比较运算符,假设变量$a持有“abc”,变量$b持有“xyz”,那么让我们检查下面的字符串相等运算符−操作符 描述 例子 lt 如果left参数在字符串上小于right参数,则返回true。 ($a lt $b) 为 true. gt 如果left参数在字符串上大于right参数,则返回true。 ($a gt $b) 为 false. le 如果left参数在字符串上小于或等于right参数,则返回true。 ($a le $b) 为 true. ge 如果left参数在字符串上大于或等于right参数,则返回true。 ($a ge $b) 为 false. eq 如果left参数在字符串上等于right参数,则返回true。 ($a eq $b) 为 false. ne 如果left参数沿字符串方向不等于right参数,则返回true。 ($a ne $b) 为 true. cmp 返回-1、0或1,具体取决于左参数是按字符串方式小于,等于还是大于右参数。 ($a cmp $b) 为 -1. 范例: -
赋值运算符
假设变量$a持有10,变量$b持有20,那么下面是Perl中可用的赋值运算符及其用法-操作符 描述 例子 = 简单的赋值运算符。将值从右侧操作数分配给左侧操作数 $c = $a+ $b将$a + $b的值赋给$c + = 加和赋值运算符。它将右操作数添加到左操作数,并将结果分配给左操作数。 $c + = $a等于$c = $c + $a -= 减和赋值运算符。它从左侧操作数中减去右侧操作数,并将结果分配给左侧操作数。 $c-= $a等效于$c = $c-$a * = 乘以和赋值运算符。它将右操作数与左操作数相乘,并将结果分配给左操作数。 $c * = $a等效于$c = $c * $a / = 除和赋值运算符。它将左操作数除以右操作数,并将结果分配给左操作数。 $c / = $a等于$c = $c / $a %= 模和赋值运算符。它使用两个操作数取模,然后将结果分配给左操作数。 $c%= $a等于$c = $c%$a **= 指数和赋值运算符,对运算符执行指数(幂)计算并将值赋给左操作数 c **= $ a等效于$c = $c** $a 范例: -
按位运算符
按位运算符对位进行运算并执行逐位操作。&,|和^的真值表如下-p q p & q p | q p ^ q 0 0 0 0 0 0 1 0 1 1 1 1 1 1 0 1 0 0 1 1 假设$a = 60和$b = 13为二进制格式,它们将如下所示-下表列出了$c支持的按位运算符。假设变量'$a'为60,变量'$b'为13,然后-操作符 描述 例子 & 如果两个操作数中都存在二进制$aND运算符,则会将一位复制到结果中。 ($a&$b)= 12,即0000 1100 | 如果任一操作数中存在二进制或运算符,则会对其进行复制。 ($a | $b)= 61,即0011 1101 ^ 如果在一个操作数中设置了该位,但不是在两个操作数中都设置了位,则二进制XOR运算符将复制该位。 ($a ^ $b)= 49,即0011 0001 ~ 二进制补码运算符是一元的,具有“翻转”位的作用。 (〜$a)=〜(60),即 -0111101 << 二进制左移运算符。左操作数的值向左移动右操作数指定的位数。 $a << 2 = 240,即1111 0000 >> 二进制右移运算符。左操作数的值向右移动右操作数指定的位数。 $a >> 2 = 15,即0000 1111 范例: -
逻辑运算符
下表显示了$c语言支持的所有逻辑运算符。假设变量$a持有true,变量$b持有false,那么-操作符 描述 例子 and 称为逻辑AND运算符。如果两个操作数都为真,则条件为真。 ($a and $b)为false。 && 称为逻辑与运算符。如果两个操作数都不为零,则条件变为true。 ($a && $b)为false。 or 称为逻辑或运算符。如果两个操作数中的任何一个都不为零,则条件为真。 ($a or $b)为true。 || 称为逻辑或运算符。如果两个操作数中的任何一个都不为零,则条件变为true。 ($a || $b)为true。 not 称为逻辑非运算符。用于反转其操作数的逻辑状态。如果条件为真,则逻辑非运算符将为假。 !($a && $b)为false。 范例: -
类引用运算符
Perl语言支持以下类似Quote的运算符。在下表中,{}代表您选择的任何一对定界符。-操作符 描述 例子 q {} 用单引号将字符串引起来 q {abcd} 得 'abcd' qq {} 用双引号将字符串引起来 qq {abcd} 得 "abcd" qx {} 用反引号引起来的字符串 qx {abcd} 得 `abcd` 范例: -
杂项运算符
Perl语言支持以下杂类运算符。假设变量$a持有10而变量b持有20然后-操作符 描述 例子 . 二进制运算符点(.)连接两个字符串 如果$a=“abc”,$b =“def”,则$a.$b将 得到 “abcdef” x 重复运算符x返回由左操作数组成的字符串,该字符串重复了右操作数指定的次数。 ('-' x 3)将得到 ---。 .. 范围运算符..返回从左值到右值计数(逐个递增)的值列表 (2..5)将得到(2,3,4,5) ++ 自动增量运算符将整数值增加一 $a++将给出11 -- 自动减量运算符将整数值减一 $a--将给出9 -> 箭头运算符主要用于从对象或类名中解引用方法或变量 $obj->$a是从对象$obj访问变量$a的示例。 范例: -