O melhor tutorial Operadores do Perl em 2024. Neste tutorial você pode aprender operadores aritméticos,comparação,Operadores de atribuição,computação bit,Operadores lógicos,operação de citações,outros operadores,Precedência de operador,
Operador informa o compilador para executar uma operação matemática símbolos ou lógicos específicos, tais como: 3 + 2 = 5.
linguagem Perl construiu uma riqueza de operadores, olhamos para vários comum:
formulário de exemplo que definir a variável $ a é de 10, $ b 20.
operadores | descrição | Exemplos |
---|---|---|
+ | víbora | $ A + $ b 30 resultados |
- | subtração | $ A - $ b, o resultado é -10 |
* | multiplicação | $ A * $ b 200 resultados |
/ | divisão | $ B / $ resultado 2 |
% | operação de módulo, o resto após o divisível | $ B% $ a resultado é 0 |
** | exponenciação | $ A ** $ b 10 resultados de energia 20 th |
#!/usr/bin/perl $a = 10; $b = 20; print "\$a = $a , \$b = $b\n"; $c = $a + $b; print '$a + $b = ' . $c . "\n"; $c = $a - $b; print '$a - $b = ' . $c . "\n"; $c = $a * $b; print '$a * $b = ' . $c . "\n"; $c = $a / $b; print '$a / $b = ' . $c . "\n"; $c = $a % $b; print '$a % $b = ' . $c. "\n"; $a = 2; $b = 4; $c = $a ** $b; print '$a ** $b = ' . $c . "\n";
A saída de execução de programa acima é:
$a = 10 , $b = 20 $a + $b = 30 $a - $b = -10 $a * $b = 200 $a / $b = 0.5 $a % $b = 10 $a ** $b = 16
formulário de exemplo que definir a variável $ a é de 10, $ b 20.
operadores | descrição | Exemplos |
---|---|---|
== | Verifique o valor dos dois operadores são iguais, se eles forem iguais, em seguida, a condição é verdadeira, caso contrário false. | ($ A == $ b) é falsa |
! = | Verifique o valor dos dois operadores são iguais, se não igual condição for verdadeira, caso contrário false. | ($ A! = $ B) é verdadeiro. |
<=> | Verificar o valor dos dois operandos são iguais, se o número é menor do que o número à esquerda do direito de retorno retorno -1 0 se forem iguais, se o número é maior que o número do lado esquerdo para o direito de retorno 1. | ($ A $ <=> b) retornam -1. |
> | Verifique o valor do operando esquerdo é maior do que o valor do operando à direita, e se a condição for verdadeira, caso contrário false. | ($ A> $ b) retorna false. |
< | Verifique o valor do operando à esquerda é menor do que o valor do operando à direita, e se a condição for verdadeira, caso contrário false. | ($ A <$ b) retorna true. |
> = | Verificar o valor do operando esquerdo é maior do que ou igual ao valor do operando à direita, e se a condição é verdadeira, de outra forma falsa. | ($ A> = $ b) retorna false. |
<= | Verificar o valor do operando esquerdo é menos do que ou igual ao valor do operando à direita, e se a condição é verdadeira, de outra forma falsa. . | ($ A <= $ b) retorna true. |
#!/usr/bin/perl $a = 10; $b = 20; print "\$a = $a , \$b = $b\n"; if( $a == $b ){ print "$a == \$b 结果 true\n"; }else{ print "\$a == \$b 结果 false\n"; } if( $a != $b ){ print "\$a != \$b 结果 true\n"; }else{ print "\$a != \$b 结果 false\n"; } $c = $a <=> $b; print "\$a <=> \$b 返回 $c\n"; if( $a > $b ){ print "\$a > \$b 结果 true\n"; }else{ print "\$a > \$b 结果 false\n"; } if( $a >= $b ){ print "\$a >= \$b 结果 true\n"; }else{ print "\$a >= \$b 结果 false\n"; } if( $a < $b ){ print "\$a < \$b 结果 true\n"; }else{ print "\$a < \$b 结果 false\n"; } if( $a <= $b ){ print "\$a <= \$b 结果 true\n"; }else{ print "\$a <= \$b 结果 false\n"; }
A saída de execução de programa acima é:
$a = 10 , $b = 20 $a == $b 结果 false $a != $b 结果 true $a <=> $b 返回 -1 $a > $b 结果 false $a >= $b 结果 false $a < $b 结果 true $a <= $b 结果 true
O seguinte exemplo tabela variável $ a é definido como "abc", $ b para "xyz", em seguida, usar um operador de comparação para calcular os resultados.
operadores | descrição | Exemplos |
---|---|---|
lt | Verifique a seqüência da esquerda é menor do que a corda no direito de voltar, se é verdade, caso contrário false. | ($ A $ lt b) retorna true. |
gt | Verifique se a cadeia da esquerda é maior do que a corda no direito de voltar, se é verdade, caso contrário false. | ($ A $ gt b) retorna false. |
le | Verifique a seqüência da esquerda é menor ou igual à cadeia à direita, se ele retorna true, caso contrário, retorna false. | ($ A $ le b) Retorna true |
ge | Verifique se a cadeia do lado esquerdo é maior ou igual à cadeia à direita, se ele retorna true, caso contrário, retorna false. | ($ A $ ge b) retorna false. |
eq | Verifique a string é igual à cadeia da esquerda para a direita, se é para retornar true, caso contrário, retorna false. | ($ A $ eq b) retorna false. |
ne | Verifique a corda do lado esquerdo não é igual à cadeia à direita para voltar, se é verdade, caso contrário false. | ($ A ne $ b) Retorna true |
cmp | Se a cadeia é maior do que o direito da corda deixado retorna 1 se eles são iguais retorna 0 se a string é a cadeia para a direita da esquerda é inferior a -1. | ($ A CMP $ b) retornam -1. |
#!/usr/bin/perl $a = "abc"; $b = "xyz"; print "\$a = $a ,\$b = $b\n"; if( $a lt $b ){ print "$a lt \$b 返回 true\n"; }else{ print "\$a lt \$b 返回 false\n"; } if( $a gt $b ){ print "\$a gt \$b 返回 true\n"; }else{ print "\$a gt \$b 返回 false\n"; } if( $a le $b ){ print "\$a le \$b 返回 true\n"; }else{ print "\$a le \$b 返回 false\n"; } if( $a ge $b ){ print "\$a ge \$b 返回 true\n"; }else{ print "\$a ge \$b 返回 false\n"; } if( $a ne $b ){ print "\$a ne \$b 返回 true\n"; }else{ print "\$a ne \$b 返回 false\n"; } $c = $a cmp $b; print "\$a cmp \$b 返回 $c\n";
A saída de execução de programa acima é:
$a = abc ,$b = xyz abc lt $b 返回 true $a gt $b 返回 false $a le $b 返回 true $a ge $b 返回 false $a ne $b 返回 true $a cmp $b 返回 -1
formulário de exemplo que definir a variável $ a é de 10, $ b 20.
operadores | descrição | Exemplos |
---|---|---|
= | operador de atribuição simples, o valor do operando direito ao operando esquerdo | $ C = $ a + $ b $ a + $ b irá atribuir o valor de US $ c |
+ = | Canadian e atribuição operador, o resultado da adição do operando esquerdo para o operando direito atribuído ao operando esquerdo | $ C + = $ a é igual a $ c = $ c + $ a |
- = | Salve e operadores de atribuição, o operando esquerdo para o operando direito é subtraída atribuir o resultado ao operando esquerdo | $ C - = $ a é igual a $ c = $ c - $ a |
* = | Multiplicar e operador de atribuição, à direita do operando à esquerda é multiplicado pelo operando atribuir o resultado ao operando esquerdo | $ C * = $ a é igual a $ c = $ c * $ a |
/ = | Em operadores de adição e atribuição, o operando à esquerda dividida pela direita do operando atribuir o resultado ao operando esquerdo | $ C / = $ a é igual a $ c = $ c / $ a |
% = | Modulo e operador de atribuição, a soma de dois operandos molde atribuído ao operando esquerdo | $ C% = $ a é igual a $ c = $ c% ao |
** = | Exponenciação e atribuição do operador, a soma de dois operandos multiplicado pelo poder atribuído ao operando esquerdo | $ C ** = $ a é igual a $ c = $ c ** $ a |
#!/usr/bin/perl $a = 10; $b = 20; print "\$a = $a ,\$b = $b\n"; $c = $a + $b; print "赋值后 \$c = $c\n"; $c += $a; print "\$c = $c ,运算语句 \$c += \$a\n"; $c -= $a; print "\$c = $c ,运算语句 \$c -= \$a\n"; $c *= $a; print "\$c = $c ,运算语句 \$c *= \$a\n"; $c /= $a; print "\$c = $c ,运算语句 \$c /= \$a\n"; $c %= $a; print "\$c = $c ,运算语句 \$c %= \$a\n"; $c = 2; $a = 4; print "\$a = $a , \$c = $c\n"; $c **= $a; print "\$c = $c ,运算语句 \$c **= \$a\n";
A saída de execução de programa acima é:
$a = 10 ,$b = 20 赋值后 $c = 30 $c = 40 ,运算语句 $c += $a $c = 30 ,运算语句 $c -= $a $c = 300 ,运算语句 $c *= $a $c = 30 ,运算语句 $c /= $a $c = 0 ,运算语句 $c %= $a $a = 4 , $c = 2 $c = 16 ,运算语句 $c **= $a
Operadores bit a bit que actuam sobre o pouco e pouco a operação bits.
Ambiente $ a = 60, b = $ 13, agora representada em formato binário, eles são os seguintes:
$a = 0011 1100 $b = 0000 1101 ----------------- $a&$b = 0000 1100 $a|$b = 0011 1101 $a^$b = 0011 0001 ~$a = 1100 0011
apoio computação Bit símbolos Perl da seguinte forma:
operadores | descrição | Exemplos |
---|---|---|
& | Se ambos existem em dois operandos, o binário operador E para copiar um resultado. | ($ A $ & b) seria 12, para binário 0000 1100 |
| | Se estiver presente em qualquer operando, o binário operador OR para copiar um resultado. | ($ A | $ b) seria 61, o binário é 00111101 |
^ | Se presente em um dos operando, mas não existem simultaneamente em dois operandos, operador XOR binário uma cópia para o resultado. | ($ A ^ b $) seria 49, o binário é 00110001 |
~ | Twos operador de complemento é um operador unário, um "flip" efeito de posição. | (~ $ A) seria -61, binário 1100 formulário 0011 complemento de número binário com sinal. |
<< | Binário operador de deslocamento esquerdo. O valor do operando esquerdo para mover para a esquerda e operando à direita o número especificado de dígitos. | Um << $ 2 será de 240, o binário é 11110000 |
>> | Binário operador de deslocamento para a direita. O valor do operando esquerdo mover operando à direita o número especificado de bits para a direita. | $ A >> 2 será de 15, o binário é 0000 1111 |
#!/usr/bin/perl use integer; $a = 60; $b = 13; print "\$a = $a , \$b = $b\n"; $c = $a & $b; print "\$a & \$b = $c\n"; $c = $a | $b; print "\$a | \$b = $c\n"; $c = $a ^ $b; print "\$a ^ \$b = $c\n"; $c = ~$a; print "~\$a = $c\n"; $c = $a << 2; print "\$a << 2 = $c\n"; $c = $a >> 2; print "\$a >> 2 = $c\n";
A saída de execução de programa acima é:
$a = 60 , $b = 13 $a & $b = 12 $a | $b = 61 $a ^ $b = 49 ~$a = -61 $a << 2 = 240 $a >> 2 = 15
operadores lógicos Perl na tabela a seguir.
formulário de exemplo que definir a variável $ a é verdade, $ b é falsa.
operadores | descrição | Exemplos |
---|---|---|
e | Operador lógico AND operador. Se ambos os operandos são verdadeiros, a condição é verdadeira. | ($ A e $ b) é falsa. |
&& | operador lógico operador AND C-estilo. Se ambos os operandos são verdadeiros, a condição é verdadeira | ($ A $ && b) é falsa. |
ou | Operador lógico OR. Se ambos os operandos tem qualquer diferente de zero, a condição é verdadeira. | ($ A ou $ b) é verdadeira. |
|| | C-style operador lógico OR. Se ambos os operandos tem qualquer diferente de zero, a condição é verdadeira. | ($ A || $ b) é verdadeira. |
não | NÃO lógico operador. Ele inverte o estado lógico do operando. Se a condição for verdadeira, o não operador lógico irá torná-lo como falso. | Não ($ a e $ b) é verdadeira. |
#!/usr/bin/perl $a = true; $b = false; print "\$a = $a , \$b = $b\n"; $c = ($a and $b); print "\$a and \$b = $c\n"; $c = ($a && $b); print "\$a && \$b = $c\n"; $c = ($a or $b); print "\$a or \$b = $c\n"; $c = ($a || $b); print "\$a || \$b = $c\n"; $a = 0; $c = not($a); print "not(\$a)= $c\n";
A saída de execução de programa acima é:
$a = true , $b = false $a and $b = false $a && $b = false $a or $b = true $a || $b = true not($a)= 1
Perl cita operadores na tabela a seguir.
operadores | descrição | Exemplos |
---|---|---|
q {} | A cadeia de caracteres com um apóstrofo | q {} ABCD resultados para 'ABCD' |
qq {} | Uma cadeia de aspas duplas | qq {ABCD} resultados para "ABCD" |
qx {} | A corda com crases | qx {ABCD} o resultado é `abcd` |
#!/usr/bin/perl $a = 10; $b = q{a = $a}; print "q{a = \$a} = $b\n"; $b = qq{a = $a}; print "qq{a = \$a} = $b\n"; # 使用 unix 的 date 命令执行 $t = qx{date}; print "qx{date} = $t\n";
A saída de execução de programa acima é:
q{a = $a} = a = $a qq{a = $a} = a = 10 qx{date} = 2016年 6月10日 星期五 16时22分33秒 CST
Além do acima mencionado operadores fora, Perl também suporta os seguintes operadores:
operadores | descrição | Exemplos |
---|---|---|
. | Ponto (.) É usado para conectar dois strings. | Se $ a = "run", $ b = "oob", $ a. Resultados $ B para "w3big" |
X | x operador retorna uma série de repetições. | ( '-' X 3) A saída é ---. |
pt | pt Em uma série de operadores. | (2pt5) A saída é (2, 3, 4, 5) |
++ | operador de incremento, o valor inteiro é incrementado por 1 | $ A = 10, $ a ++ irá imprimir 11 |
- | operadores decremento, valor inteiro reduzida em 1 | $ A = 10, $ um-- saída 9 |
-> | Especifique um método de classe de Seta | $ Obj -> $ a representação do objeto $ obj $ um método. |
#!/usr/bin/perl $a = "run"; $b = "oob"; print "\$a = $a , \$b = $b\n"; $c = $a . $b; print "\$a . \$b = $c\n"; $c = "-" x 3; print "\"-\" x 3 = $c\n"; @c = (2pt5); print "(2pt5) = @c\n"; $a = 10; $b = 15; print "\$a = $a , \$b = $b\n"; $a++; $c = $a ; print "\$a 执行 \$a++ = $c\n"; $b--; $c = $b ; print "\$b 执行 \$b-- = $c\n";
A saída de execução de programa acima é:
$a = run , $b = oob $a . $b = w3big "-" x 3 = --- (2pt5) = 2 3 4 5 $a = 10 , $b = 15 $a 执行 $a++ = 11 $b 执行 $b-- = 14
A tabela seguinte mostra a precedência do operador linguagem Perl:
operador de operadores | obrigatório |
---|---|
++ - | não |
-, ~ ,! | Direita para a esquerda |
** | Direita para a esquerda |
= ~! ~ | Da esquerda para a direita |
*, /,%, X | Da esquerda para a direita |
+, - ,. | Da esquerda para a direita |
<< >> | Da esquerda para a direita |
-e, -r, | não |
<, <=,>,> =, Lt, le, gt, ge | Da esquerda para a direita |
== ,! =, <=>, EQ, ne, cmp | Da esquerda para a direita |
& | Da esquerda para a direita |
|, ^ | Da esquerda para a direita |
&& | Da esquerda para a direita |
|| | Da esquerda para a direita |
pt | Da esquerda para a direita |
? E: | Direita para a esquerda |
=, + =, - =, * =, | Direita para a esquerda |
outro | |
, | Da esquerda para a direita |
não | Da esquerda para a direita |
e | Da esquerda para a direita |
OR, XOR | Da esquerda para a direita |
#!/usr/bin/perl $a = 20; $b = 10; $c = 15; $d = 5; $e; print "\$a = $a, \$b = $b, \$c = $c ,\$d = $d\n"; $e = ($a + $b) * $c / $d; print "(\$a + \$b) * \$c / \$d = $e\n"; $e = (($a + $b) * $c )/ $d; print "((\$a + \$b) * \$c) / \$d = $e\n"; $e = ($a + $b) * ($c / $d); print "(\$a + \$b) * (\$c / \$d ) = $e\n"; $e = $a + ($b * $c ) / $d; print "\$a + (\$b * \$c )/ \$d = $e\n";
A saída de execução de programa acima é:
$a = 20, $b = 10, $c = 15 ,$d = 5 ($a + $b) * $c / $d = 90 (($a + $b) * $c) / $d = 90 ($a + $b) * ($c / $d ) = 90 $a + ($b * $c )/ $d = 50