📜  Perl运算符类型

📅  最后修改于: 2021-01-07 08:15:23             🧑  作者: Mango

Perl运算符类型

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

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

  • 数值运算符
  • 字符串运算符
  • 逻辑运算符
  • 按位运算符
  • 特殊运算符
  • 运算符
  • 赋值运算符

Perl数值运算符

数值运算符是标准算术运算运算符,例如加法(+),减法(-),乘法(*),除法(/)和模(%)等。

Perl字符串运算符

字符串运算符是带有重复(=〜和!〜)和串联(。)的正则和负正则表达式。

字符串串联运算符

use 5.010;
use strict;
use warnings;
my $result = "Hello this is " . "JavaTpoint.";
say $result;

输出:

Hello this is JavaTpoint.

字符串重复运算符

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