Perl运算符类型

本文概述

Perl运算符向其操作数提供值, 例如数字, 布尔值或字符串等。要选择合适的运算符, 你需要知道操作数的值。

我们将讨论以下类型的运算符:

  • 数值运算符
  • 字符串运算符
  • 逻辑运算符
  • 按位运算符
  • 特殊运营商
  • 比较运算符
  • 赋值运算符
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
微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?