Latest web development tutorials

Los operadores de Perl

Operador le dice al compilador para realizar unas símbolos de operaciones matemáticas o lógicas específicas, tales como: 3 + 2 = 5.

lenguaje Perl construido una gran cantidad de operadores, nos fijamos en varias común:


Los operadores aritméticos

ejemplo forma que establece la variable $ a es 10, b $ 20.

operadores descripción Ejemplos
+ sumador $ A + B $ 30 resultados
- resta Un $ - $ b el resultado es -10
* multiplicación $ A * b $ 200 Resultados
/ división $ B / $ resultado 2
% operación de módulo, el resto después de lo divisible $ B $% resultado es 0
** exponenciación A $ ** $ b 10 resultados de potencia 20 th

Ejemplos

#!/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";

La salida por encima de la ejecución del programa es:

$a = 10 , $b = 20
$a + $b = 30
$a - $b = -10
$a * $b = 200
$a / $b = 0.5
$a % $b = 10
$a ** $b = 16

comparación

ejemplo forma que establece la variable $ a es 10, b $ 20.

operadores descripción Ejemplos
== Comprobar el valor de los dos operandos son iguales, si son iguales, entonces la condición es verdadera, si no falsa. ($ A == $ b) es falsa
! = Comprobar el valor de los dos operandos son iguales, si no igual condición es verdadera, si no falsa. ($ A! = $ B) es verdadera.
<=> Compruebe el valor de los dos operandos son iguales, si el número es menor que el número a la izquierda de la derecha de la vuelta de retorno -1 0 si son iguales, si el número es mayor que el número de la izquierda a la derecha de la vuelta 1. ($ A $ <=> b) devuelve -1.
> Comprobar el valor del operando de la izquierda es mayor que el valor del operando de la derecha, y si la condición es verdadera, si no falsa. ($ A> $ b) devuelve falso.
< Comprobar el valor del operando de la izquierda es menor que el valor del operando de la derecha, y si la condición es verdadera, si no falsa. ($ A <$ b) devuelve verdadero.
> = Compruebe el valor del operando de la izquierda es mayor o igual al valor del operando de la derecha, y si la condición es verdadera, si no falsa. ($ A> = $ b) devuelve falso.
<= Compruebe el valor del operando de la izquierda es menor o igual al valor del operando de la derecha, y si la condición es verdadera, si no falsa. . ($ A <= $ b) devuelve verdadero.

Ejemplos

#!/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";
}

La salida por encima de la ejecución del programa es:

$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

El siguiente ejemplo tabla de variables $ a se establece en "abc", $ b para "xyz", a continuación, utilizar un operador de comparación para calcular los resultados.

operadores descripción Ejemplos
lt Compruebe la cadena de la izquierda es menor que la cadena sobre el derecho al retorno si bien es cierto, de lo contrario falso. ($ A $ lt b) devuelve verdadero.
gt Compruebe si la cadena de la izquierda es mayor que la cuerda en el derecho al retorno si bien es cierto, de lo contrario falso. ($ A $ gt b) devuelve falso.
Le Compruebe la cadena de la izquierda es menor o igual a la cadena a la derecha, si se devuelve verdadero, de lo contrario devuelve false. ($ A $ le b) Devuelve verdadero
ge Compruebe si la cadena de la izquierda es mayor que o igual a la cadena a la derecha, si se devuelve verdadero, de lo contrario devuelve false. ($ A $ ge b) devuelve falso.
eq Verificar la cuerda es igual a la cadena de la izquierda a la derecha, si se va a devolver verdadero, de lo contrario devuelve false. ($ A $ eq b) devuelve falso.
Nebraska Compruebe la cadena de la izquierda no es igual a la cadena sobre el derecho al retorno si bien es cierto, de lo contrario falso. ($ A $ ne b) Devuelve true
cmp Si la cadena es mayor que la derecha de la cadena a la izquierda devuelve 1 si son iguales devuelve 0 si la cadena es la cadena a la derecha de la izquierda es menor que -1. ($ A $ cmp b) devuelven -1.

Ejemplos

#!/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";

La salida por encima de la ejecución del programa es:

$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

Operadores de asignación

ejemplo forma que establece la variable $ a es 10, b $ 20.

operadores descripción Ejemplos
= operador de asignación simple, el valor en el operando de la derecha a la izquierda del operando $ C = $ a + $ b $ a + $ b asignará el valor de $ c
+ = Canadiense y la asignación del operador, el resultado de sumar el operando de la izquierda a la derecha del operando asignado a la izquierda del operando $ C + = $ a es igual a $ c = c + $ $ a
- = Guarda y operadores de asignación, el operando de la izquierda a la derecha del operando se resta asignar el resultado a la izquierda del operando $ C - = $ a es igual a $ c = c $ - $ una
* = Multiplicar y operador de asignación, la derecha del operando de la izquierda se multiplica por el operando de asignar el resultado a la izquierda del operando $ C * = $ a es igual a $ c = c $ * $ una
/ = En los operadores de suma y de asignación, el operador de la izquierda dividida por la derecha del operando asigna el resultado al operando de la izquierda $ C / = $ a es igual a $ c = c $ / $ a
% = Modulo y operador de asignación, la suma de molde de dos operandos asignado a la izquierda del operando $ C% = $ a es igual a $ c = $ c% una
** = Exponenciación y asignación del operador, la suma de los dos operandos multiplicado por la potencia asignada a la izquierda del operando $ C ** = $ a es igual a $ c = c $ ** $ una

Ejemplos

#!/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";

La salida por encima de la ejecución del programa es:

$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

la computación bits

operadores de bits que actúan sobre la broca, y poco a poco la operación.

Marco $ a = 60, b = $ 13, ahora representado en formato binario, que son los siguientes:

$a = 0011 1100

$b = 0000 1101

-----------------

$a&$b = 0000 1100

$a|$b = 0011 1101

$a^$b = 0011 0001

~$a  = 1100 0011

de apoyo de computación poco Perl símbolos de la siguiente manera:

operadores descripción Ejemplos
y Si ambos existen en dos operandos, el operador AND binaria para copiar resultado. ($ $ A & B) sería de 12, a binario 0000 1100
| Si está presente en cualquier operando, el operador OR binaria para copiar resultado. ($ A | $ b) sería de 61 años, el binario es 00111101
^ Si está presente en uno de los operandos, pero no existen simultáneamente en dos operandos, operador XOR binaria una copia al resultado. ($ A $ ^ b) sería de 49 años, el binario es 00110001
~ Doses operador de complemento es un operador unitario, un "flip" efecto de posición. (~ $ A) sería -61, binario 1100 0011 forma el complemento del número binario con signo.
<< Binaria operador de desplazamiento a la izquierda. El valor del operando de la izquierda para mover hacia la izquierda y la derecha del operando el número especificado de dígitos. A $ << 2 será 240, el binario es 11110000
>> Binaria operador de desplazamiento a la derecha. El valor del operando de la izquierda se mueve operando de la derecha el número especificado de bits hacia la derecha. A >> $ 2 será de 15, el binario es 0000 1111

Ejemplos

#!/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";

La salida por encima de la ejecución del programa es:

$a = 60 , $b = 13
$a & $b = 12
$a | $b = 61
$a ^ $b = 49
~$a = -61
$a << 2 = 240
$a >> 2 = 15

Los operadores lógicos

Perl operadores lógicos en la tabla siguiente.

ejemplo forma que establece la variable $ a es verdadera, $ b es falsa.

operadores descripción Ejemplos
y Operador lógico AND operador. Si ambos operandos son verdaderas, la condición es verdadera. ($ $ A y B) es falsa.
&& C-estilo operador lógico AND. Si ambos operandos son verdaderas, la condición es verdadera ($ A $ && b) es falsa.
o Operador lógico OR. Si ambos operandos tienen ninguna que no sea cero, la condición es verdadera. ($ A o $ b) es verdadera.
|| C-estilo operador lógico OR. Si ambos operandos tienen ninguna que no sea cero, la condición es verdadera. ($ A $ || b) es verdadera.
no Lógico NO operador. Se invierte el estado lógico del operando. Si la condición es verdadera, no el operador lógico hará que sea falso. No ($ ay $ b) es verdadera.

Ejemplos

#!/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";

La salida por encima de la ejecución del programa es:

$a = true , $b = false
$a and $b = false
$a && $b = false
$a or $b = true
$a || $b = true
not($a)= 1

Cotizaciones operación

Perl cita a los operadores en la siguiente tabla.

operadores descripción Ejemplos
q {} La cadena con una comilla simple q resultados abcd {} para 'ABCD'
qq {} Una cadena de comillas dobles qq resultados abcd {} para "ABCD"
qx {} La cadena con comillas inversas qx {} abcd el resultado es `abcd`

Ejemplos

#!/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";

La salida por encima de la ejecución del programa es:

q{a = $a} = a = $a
qq{a = $a} = a = 10
qx{date} = 2016年 6月10日 星期五 16时22分33秒 CST

otros operadores

Además de lo anterior mencionamos operadores exterior, Perl también es compatible con los siguientes operadores:

operadores descripción Ejemplos
. Punto (.) Se utiliza para conectar dos cadenas. Si $ a = "ejecución", $ b = "fuera de banda", $ a. $ B resultados para "w3big"
x x operador devuelve una cadena de repeticiones. ( '-' X 3) de salida es ---.
.. .. En una serie de operadores. (2..5) La salida es (2, 3, 4, 5)
++ operador de incremento, el valor entero se incrementa en 1 A = $ 10, $ a ++ es la salida 11
- operadores de decremento, valor entero redujeron en 1 A = $ 10, $ A-- salida 9
-> Especificar un método de clase para Arrow Obj $ -> $ a la representación del objeto obj $ $ un método.

Ejemplos

#!/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 = (2..5);
print "(2..5) = @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";

La salida por encima de la ejecución del programa es:

$a  = run , $b = oob
$a . $b = w3big
"-" x 3 = ---
(2..5) = 2 3 4 5
$a  = 10 , $b = 15
$a 执行 $a++ = 11
$b 执行 $b-- = 14

Prioridad de los operadores

La tabla siguiente muestra la prioridad de los operadores lenguaje Perl:

operador de operadores encuadernación
++ - no
-, ~ ,! De derecha a izquierda
** De derecha a izquierda
= ~! ~ De izquierda a derecha
*, /,%, X De izquierda a derecha
+, - ,. De izquierda a derecha
<< >> De izquierda a derecha
-e, -r, no
<, <=,>,> =, Lt, le, gt, ge De izquierda a derecha
== ,! =, <=>, Ec, ne, cmp De izquierda a derecha
y De izquierda a derecha
|, ^ De izquierda a derecha
&& De izquierda a derecha
|| De izquierda a derecha
.. De izquierda a derecha
? Y: De derecha a izquierda
=, + =, - =, * =, De derecha a izquierda
otro
, De izquierda a derecha
no De izquierda a derecha
y De izquierda a derecha
o, xor De izquierda a derecha

Ejemplos

#!/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";

La salida por encima de la ejecución del programa es:

$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