本文概述
Perl运算符向其操作数提供值, 例如数字, 布尔值或字符串等。要选择合适的运算符, 你需要知道操作数的值。
我们将讨论以下类型的运算符:
- 数值运算符
- 字符串运算符
- 逻辑运算符
- 按位运算符
- 特殊运营商
- 比较运算符
- 赋值运算符
Perl数值运算符
数值运算符是标准算术运算符, 例如加法(+), 减法(-), 乘法(*), 除法(/)和模(%)等。
Perl字符串运算符
字符串运算符是带有重复(=〜和!〜)和串联(。)的正则和负正则表达式。
字符串串联运算符
use 5.010;
use strict;
use warnings;
my $result = "Hello this is " . "srcmini.";
say $result;
输出
Hello this is srcmini.
字符串重复运算符
use 5.010;
use strict;
use warnings;
my $result = "Thank You " x 3;
say $result;
输出
Thank You Thank You Thank You.
在这里, 请注意, 在” x”的右边, 它必须是整数。
‘x’运算符的两边都应该有空格。
例如,
$result = "Thank You " x 3; # This is correct
$result = "Thank You "x3; # This is incorrect
Perl逻辑运算符
逻辑运算符为其操作数提供布尔值。它们是(&&, ||和)。
&&->在&&运算符中, 如果$ a为0, 则$ a && $ b的值必须为false, 而与$ b的值无关。因此, perl无需检查$ b的值。这称为短路评估。
|| ->在||中运算符, 如果$ a为非零值, 则$ a && $ b的值必须为true, 而与$ b的值无关。因此, perl无需检查$ b的值。
例:
use 5.010;
use strict;
use warnings;
$a = 0;
$b = 12;
my $result1 = $a && $b;
say $result1;
$a = 12;
$b = 14;
my $result2 = $a || $b;
say $result2;
输出
0
12
Perl按位运算符
按位运算符在位级别上数字地处理其操作数。这些是(<<, >>, &, |, ^, << =, >> =, &=, | =, ^ =)。
每个数字将以0和1表示。最初, 整数将转换为二进制位, 并对结果进行评估。最终结果将以整数形式显示。
例:
use 5.010;
use strict;
use warnings;
#OR operator
my $result1 = 124.3 | 99;
say $result1;
#AND operator
my $result2 = 124.3 & 99;
say $result2;
#XOR operator
my $result3 = 124.3 ^ 99;
say $result3;
#Shift operator
my $result4 = 124 >> 3;
say $result4;
输出
127
96
31
15
Perl特殊运算符
自动增量(++)运算符是一种特殊的运算符, 它将数字字符本身加1。
例:
use 5.010;
use strict;
use warnings;
my $num = 9;
my $str = 'x';
$num++;
$str++;
say $num++;
say $str++;
输出
10
Y
Perl比较运算符
比较运算符比较其操作数的值。这些是(==, <, <=, >, > =, <=>, !=)。
例:
use 5.010;
use strict;
use warnings;
say "Enter your salary:";
my $salary = <>;
if($salary >= 20000)
{
say "You are earning well";
} else {
say "You are not earning well";
}
输出
Enter your salary:
15000
You are not earning well
Perl分配运算符
赋值运算符为变量分配一个值。
这些是(=, + =, -=, * =, / =, | =, &=, %=)
例:
use 5.010;
use strict;
use warnings;
$a = 20;
my $result1 = $a += $a;
say $result1;
my $result2 = $a -= 10;
say $result2;
my $result3 = $a |= 10;
say $result3;
my $result4 = $a &= 10;
say $result4;
输出
40
30
30
10