Perl - Operadores

¿Qué es un operador?

Se puede dar una respuesta simple usando la expresión 4 + 5 es igual a 9 . Aquí 4 y 5 se llaman operandos y + se llama operador. El lenguaje Perl admite muchos tipos de operadores, pero a continuación se muestra una lista de los operadores importantes y más utilizados:

  • Operadores aritméticos
  • Operadores de igualdad
  • Operadores logicos
  • Operadores de Asignación
  • Operadores bit a bit
  • Operadores logicos
  • Operadores tipo cotización
  • Operadores varios

Echemos un vistazo a todos los operadores uno por uno.

Operadores aritméticos de Perl

Suponga que la variable $ a tiene 10 y la variable $ b tiene 20, luego los siguientes son los operadores aritmáticos de Perl:

Mostrar ejemplo

No Señor. Operador y descripción
1

+ ( Addition )

Agrega valores a ambos lados del operador

Example - $ a + $ b dará 30

2

- (Subtraction)

Resta el operando de la mano derecha del operando de la mano izquierda

Example - $ a - $ b dará -10

3

* (Multiplication)

Multiplica los valores a ambos lados del operador

Example - $ a * $ b dará 200

4

/ (Division)

Divide el operando de la izquierda por el operando de la derecha

Example - $ b / $ a dará 2

5

% (Modulus)

Divide el operando de la izquierda por el operando de la derecha y devuelve el resto

Example - $ b% $ a dará 0

6

** (Exponent)

Realiza cálculos exponenciales (potencia) en los operadores

Example - $ a ** $ b dará 10 elevado a la potencia 20

Operadores de igualdad de Perl

También se denominan operadores relacionales. Suponga que la variable $ a tiene 10 y la variable $ b tiene 20, entonces, verifiquemos los siguientes operadores de igualdad numérica

Mostrar ejemplo

No Señor. Operador y descripción
1

== (equal to)

Comprueba si el valor de dos operandos es igual o no, si es así, la condición se convierte en verdadera.

Example - ($ a == $ b) no es cierto.

2

!= (not equal to)

Comprueba si el valor de dos operandos es igual o no, si los valores no son iguales, la condición se convierte en verdadera.

Example - ($ a! = $ B) es cierto.

3

<=>

Comprueba si el valor de dos operandos es igual o no y devuelve -1, 0 o 1 dependiendo de si el argumento de la izquierda es numéricamente menor, igual o mayor que el argumento de la derecha.

Example - ($ a <=> $ b) devuelve -1.

4

> (greater than)

Comprueba si el valor del operando izquierdo es mayor que el valor del operando derecho, si es así, la condición se convierte en verdadera.

Example - ($ a> $ b) no es cierto.

5

< (less than)

Comprueba si el valor del operando izquierdo es menor que el valor del operando derecho, si es así, la condición se convierte en verdadera.

Example - ($ a <$ b) es cierto.

6

>= (greater than or equal to)

Comprueba si el valor del operando izquierdo es mayor o igual que el valor del operando derecho, si es así, la condición se convierte en verdadera.

Example - ($ a> = $ b) no es cierto.

7

<= (less than or equal to)

Comprueba si el valor del operando izquierdo es menor o igual que el valor del operando derecho, si es así, la condición se convierte en verdadera.

Example - ($ a <= $ b) es cierto.

A continuación se muestra una lista de operadores de acciones. Suponga que la variable $ a contiene "abc" y la variable $ b contiene "xyz", entonces, verifiquemos los siguientes operadores de igualdad de cadenas:

Mostrar ejemplo

No Señor. Operador y descripción
1

lt

Devuelve verdadero si el argumento de la izquierda es una cadena menor que el argumento de la derecha.

Example - ($ a lt $ b) es cierto.

2

gt

Devuelve verdadero si el argumento de la izquierda es una cadena mayor que el argumento de la derecha.

Example - ($ a gt $ b) es falso.

3

le

Devuelve verdadero si el argumento de la izquierda es en sentido de cadena menor o igual que el argumento de la derecha.

Example - ($ a le $ b) es cierto.

4

ge

Devuelve verdadero si el argumento de la izquierda es una cadena mayor o igual que el argumento de la derecha.

Example - ($ a ge $ b) es falso.

5

eq

Devuelve verdadero si el argumento de la izquierda es igual en cadena al argumento de la derecha.

Example - ($ a eq $ b) es falso.

6

ne

Devuelve verdadero si el argumento de la izquierda no es igual al argumento de la derecha.

Example - ($ a ne $ b) es cierto.

7

cmp

Devuelve -1, 0 o 1 dependiendo de si el argumento de la izquierda es menor, igual o mayor que el argumento de la derecha.

Example - ($ a cmp $ b) es -1.

Operadores de asignación de Perl

Suponga que la variable $ a tiene 10 y la variable $ b tiene 20, luego, a continuación, se muestran los operadores de asignación disponibles en Perl y su uso:

Mostrar ejemplo

No Señor. Operador y descripción
1

=

Operador de asignación simple, asigna valores de los operandos del lado derecho al operando del lado izquierdo

Example - $ c = $ a + $ b se le asignará un valor de $ a + $ b en $ c

2

+=

Agregar operador de asignación Y, agrega el operando derecho al operando izquierdo y asigna el resultado al operando izquierdo

Example - $ c + = $ a es equivalente a $ c = $ c + $ a

3

-=

Restar operador de asignación Y, resta el operando derecho del operando izquierdo y asigna el resultado al operando izquierdo

Example - $ c - = $ a es equivalente a $ c = $ c - $ a

4

*=

Multiplica el operador de asignación AND, multiplica el operando derecho con el operando izquierdo y asigna el resultado al operando izquierdo

Example - $ c * = $ a es equivalente a $ c = $ c * $ a

5

/=

Operador de división Y asignación, divide el operando izquierdo con el operando derecho y asigna el resultado al operando izquierdo

Example - $ c / = $ a es equivalente a $ c = $ c / $ a

6

%=

Operador de asignación de módulo Y, toma el módulo usando dos operandos y asigna el resultado al operando izquierdo

Example - $ c% = $ a es equivalente a $ c = $ c% a

7

**=

Operador de asignación Y de exponente, realiza cálculos exponenciales (potencia) en los operadores y asigna valor al operando izquierdo

Example - $ c ** = $ a es equivalente a $ c = $ c ** $ a

Operadores bit a bit de Perl

El operador bit a bit trabaja con bits y realiza operaciones bit a bit. Suponga si $ a = 60; y $ b = 13; Ahora en formato binario serán los siguientes:

$ a = 0011 1100

$ b = 0000 1101

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

$ a y $ b = 0000 1100

$ a | $ b = 0011 1101

$ a ^ $ b = 0011 0001

~ $ a = 1100 0011

Existen los siguientes operadores Bitwise compatibles con el lenguaje Perl, suponga que si $ a = 60; y $ b = 13

Mostrar ejemplo

No Señor. Operador y descripción
1

&

El operador AND binario copia un bit al resultado si existe en ambos operandos.

Example - ($ a & $ b) dará 12 que es 0000 1100

2

|

El operador OR binario copia un bit si existe en otro operando.

Example - ($ a | $ b) dará 61 que es 0011 1101

3

^

El operador binario XOR copia el bit si está configurado en un operando pero no en ambos.

Example - ($ a ^ $ b) dará 49 que es 0011 0001

4

~

El operador de complemento binario es unario y tiene el efecto de "voltear" bits.

Example - (~ $ a) dará -61 que es 1100 0011 en forma de complemento a 2 debido a un número binario con signo.

5

<<

Operador binario de desplazamiento a la izquierda. El valor de los operandos de la izquierda se mueve a la izquierda el número de bits especificado por el operando de la derecha.

Example - $ a << 2 dará 240 que es 1111 0000

6

>>

Operador de cambio a la derecha binario. El valor de los operandos de la izquierda se mueve hacia la derecha el número de bits especificado por el operando de la derecha.

Example - $ a >> 2 dará 15 que es 0000 1111

Operadores lógicos de Perl

Existen los siguientes operadores lógicos compatibles con el lenguaje Perl. Suponga que la variable $ a es verdadera y la variable $ b es falsa, entonces -

Mostrar ejemplo

No Señor. Operador y descripción
1

and

Operador llamado lógico AND. Si ambos operandos son verdaderos, entonces la condición se vuelve verdadera.

Example - ($ ay $ b) es falso.

2

&&

El operador AND lógico de estilo C copia un bit al resultado si existe en ambos operandos.

Example - ($ a && $ b) es falso.

3

or

Operador OR lógico llamado. Si alguno de los dos operandos es distinto de cero, la condición se cumple.

Example - ($ a o $ b) es cierto.

4

||

El operador OR lógico de estilo C copia un bit si existe en otro operando.

Example - ($ a || $ b) es cierto.

5

not

Operador llamado lógico NOT. Use para revertir el estado lógico de su operando. Si una condición es verdadera, el operador NOT lógico la convertirá en falsa.

Example - no ($ ay $ b) es cierto.

Operadores tipo cotización

Existen los siguientes operadores de tipo Cotización compatibles con el lenguaje Perl. En la siguiente tabla, un {} representa cualquier par de delimitadores que elija.

Mostrar ejemplo

No Señor. Operador y descripción
1

q{ }

Encierra una cadena entre comillas simples

Example - q {abcd} da 'abcd'

2

qq{ }

Encierra una cadena entre comillas dobles

Example - qq {abcd} da "abcd"

3

qx{ }

Incluye una cadena con comillas invertidas

Example - qx {abcd} da `abcd`

Operadores varios

Existen los siguientes operadores diversos compatibles con el lenguaje Perl. Suponga que la variable a tiene 10 y la variable b tiene 20, entonces -

Mostrar ejemplo

No Señor. Operador y descripción
1

.

El punto de operador binario (.) Concatena dos cadenas.

Example - Si $ a = "abc", $ b = "def" entonces $ a. $ B dará "abcdef"

2

x

El operador de repetición x devuelve una cadena que consta del operando izquierdo repetido el número de veces especificado por el operando derecho.

Example - ('-' x 3) dará ---.

3

..

El operador de rango ... devuelve una lista de valores contando (de a uno) desde el valor de la izquierda al valor de la derecha

Example - (2..5) dará (2, 3, 4, 5)

4

++

El operador de incremento automático aumenta el valor entero en uno

Example - $ a ++ dará 11

5

--

El operador Auto Decrement reduce el valor entero en uno

Example - $ a-- dará 9

6

->

El operador de flecha se usa principalmente para desreferenciar un método o variable de un objeto o un nombre de clase

Example - $ obj -> $ a es un ejemplo para acceder a la variable $ a desde el objeto $ obj.

Precedencia de los operadores de Perl

La siguiente tabla enumera todos los operadores de mayor a menor precedencia.

Mostrar ejemplo

left	terms and list operators (leftward)
left	->
nonassoc	++ --
right	**
right	! ~ \ and unary + and -
left	=~ !~
left	* / % x
left	+ - .
left	<< >>
nonassoc	named unary operators
nonassoc	< > <= >= lt gt le ge
nonassoc	== != <=> eq ne cmp ~~
left	&
left	| ^
left	&&
left	|| //
nonassoc	..  ...
right	?:
right	= += -= *= etc.
left	, =>
nonassoc	list operators (rightward)
right	not
left	and
left	or xor