perl | Operadores | Serie 1

Los operadores son el bloque de construcción principal de cualquier lenguaje de programación. Los operadores permiten al programador realizar diferentes tipos de operaciones en los operandos. En Perl , los símbolos de los operadores serán diferentes para diferentes tipos de operandos (como escalares y strings). Los operadores se pueden clasificar en función de sus diferentes funciones:

Operadores aritméticos

Estos se utilizan para realizar operaciones aritméticas/matemáticas en operandos. 

  • Suma: el operador ‘ + ‘ se usa para sumar los valores de los dos operandos. Por ejemplo:
$a = 5;
$b = 10;
print $a + $b;
Here Result will be 15
  • Resta: el operador ‘ ‘ se usa para restar el operando de la derecha del operando de la izquierda. Por ejemplo:
$a = 10;
$b = 5;
print $a - $b;
Here Result will be 5
  • Multiplicación: el operador ‘ * ‘ se usa para multiplicar el valor a cada lado del operador. Por ejemplo:
$a = 5;
$b = 10;
print $a * $b;
Here Result will be 50
  • Operador de división: el operador ‘ / ‘ devuelve el resto cuando el primer operando se divide por el segundo. Por ejemplo:
$a = 30;
$b = 15;
print $a / $b;
Here Result will be 3
  • Operador de módulo: el operador ‘ % ‘ se usa para dividir el operando de la izquierda del operando de la derecha y devuelve el resto. Por ejemplo:
$a = 10;
$b = 15;
print $a % $b;
Here Result will be 5
  • Operador exponencial: el operador ‘ ** ‘ se utiliza para realizar el cálculo exponencial (potencia) en los operandos. Por ejemplo:
$a = 2;
$b = 3;
print $a**$b;
Here Result will be 8

Programa: Para demostrar los operadores aritméticos

Perl

# Perl Program to illustrate the Arithmetic Operators
 
# Operands
$a = 10;
$b = 4;
 
# using arithmetic operators
print "Addition is: ", $a + $b, "\n";
print "Subtraction is: ", $a - $b, "\n" ;
print "Multiplication is: ", $a * $b, "\n";
print "Division is: ", $a / $b, "\n";
print "Modulus is: ", $a % $b, "\n";
print "Exponent is: ", $a ** $b, "\n";

Producción:

Addition is: 14
Subtraction is: 6
Multiplication is: 40
Division is: 2.5
Modulus is: 2
Exponent is: 10000

Operadores relacionales

Los operadores relacionales se utilizan para comparar dos valores. Estos operadores devolverán 1 (verdadero) o nada (es decir, 0 (falso)) . A veces, estos operadores también se denominan operadores de igualdad . Estos operadores tienen los diferentes símbolos para operar sobre strings. Para conocer la operación de los operadores de comparación en String, puede consultar esto

  • Operador igual a: ‘==’ Comprueba si dos valores son iguales o no. Si es igual, devuelve 1; de lo contrario, no devuelve nada.
  • No es igual a Operador: ‘!=’ Comprueba si los dos valores son iguales o no. Si no es igual, devuelve 1; de lo contrario, no devuelve nada.
  • Comparación de operador igual a: ‘< = >’ Si el operando izquierdo es menor que el derecho, devuelve -1, si es igual devuelve 0, de lo contrario devuelve 1.
  • Mayor que Operador: ‘>’ Si el operando izquierdo es mayor que el derecho devuelve 1, de lo contrario no devuelve nada.
  • Operador menor que: ‘<‘ Si el operando izquierdo es menor que el derecho devuelve 1, de lo contrario no devuelve nada.
  • Operador mayor que igual a: ‘>=’ Si el operando izquierdo es mayor o igual que el derecho devuelve 1, de lo contrario no devuelve nada.
  • Operador menor que igual a: ‘<=’ Si el operando izquierdo es menor o igual que el derecho devuelve 1, de lo contrario no devuelve nada.

Programa: Para ilustrar los Operadores Relacionales en Perl 

Perl

# Perl Program to illustrate the Relational Operators
 
# Operands
$a = 10;
$b = 60;
 
# using Relational Operators
if ($a == $b)
{
   print "Equal To Operator is True\n";
}
else
{
   print "Equal To Operator is False\n";
}
 
if ($a != $b)
{
   print "Not Equal To Operator is True\n";
}
else
{
   print "Not Equal To Operator is False\n";
}
 
if ($a > $b)
{
   print "Greater Than Operator is True\n";
}
else
{
   print "Greater Than Operator is False\n";
}
 
if ($a < $b)
{
   print "Less Than Operator is True\n";
}
else
{
   print "Less Than Operator is False\n";
}
 
if ($a >= $b)
{
   print "Greater Than Equal To Operator is True\n";
}
else
{
   print "Greater Than Equal To Operator is False\n";
}
 
if ($a <= $b)
{
   print "Less Than Equal To Operator is True\n";
}
else
{
   print "Less Than Equal To Operator is False\n";
}
if ($a <=> $b)
{
   print "Comparison of Operator is True\n";
}
else
{
   print "Comparison of Operator is False\n";
}

Producción: 

Equal To Operator is False
Not Equal To Operator is True
Greater Than Operator is False
Less Than Operator is True
Greater Than Equal To Operator is False
Less Than Equal To Operator is True
Comparison of Operator is True

Operadores logicos

Estos operadores se utilizan para combinar dos o más condiciones/restricciones o para complementar la evaluación de la condición original en consideración.

  • AND lógico: el operador ‘ and ‘ devuelve verdadero cuando se cumplen las dos condiciones consideradas. Por ejemplo, $a y $b son verdaderos cuando tanto a como b son verdaderos (es decir, distintos de cero). También puede usar && .
  • OR lógico: el operador ‘ o ‘ devuelve verdadero cuando se cumple una (o ambas) de las condiciones consideradas. Por ejemplo, $a o $b es verdadero si uno de a o b es verdadero (es decir, distinto de cero). Por supuesto, da resultado «verdadero» cuando tanto a como b son verdaderos. También puedes usar ||
  • NOT lógico: el operador ‘no’ dará 1 si se cumple la condición en consideración. Por ejemplo, not($d) es verdadero si $d es 0.

Programa: Para demostrar el funcionamiento de los Operadores Lógicos:  

Perl

# Perl Program to illustrate the Logical Operators
 
# Operands
$a = true;
$b = false;
 
# AND operator
$result = $a && $b;
print "AND Operator: ", $result,"\n";
  
# OR operator
$result = $a || $b;
print "OR Operator: ", $result,"\n";
  
# NOT operator
$d = 0;
$result = not($d);
print "NOT Operator: ", $result;

Producción: 

AND Operator: false
OR Operator: true
NOT Operator: 1

Operadores bit a bit

Estos operadores se utilizan para realizar la operación bit a bit. Primero convertirá el número en bits y realizará la operación a nivel de bits en los operandos. 

  • & (Y bit a bit) Toma dos números como operandos y hace AND en cada bit de dos números. El resultado de AND es 1 solo si ambos bits son 1. Por ejemplo
$a = 13;    // 1101
$b = 5;   //  0101
$c = $b & $a;   
print $c;
Here Output will be 5

Explanation:

$a = 1 1 0 1
$b = 0 1 0 1
---------------
$c = 0 1  0 1
---------------
  • | (OR bit a bit) Toma dos números como operandos y hace OR en cada bit de dos números. El resultado de OR es 1 cualquiera de los dos bits es 1. Por ejemplo
$a = 13;    // 1101
$b = 5;     // 0101
$c = $b | $a;   
print $c;
Here Output will be 13

Explanation:
$a = 1 1 0 1
$b = 0 1 0 1
---------------
$c = 1 1  0 1
---------------
  • ^ (XOR bit a bit) Toma dos números como operandos y hace XOR en cada bit de dos números. El resultado de XOR es 1 si los dos bits son diferentes. Por ejemplo
$a = 13;  // 1101
$b = 5;   // 0101
$c = $b ^ $a;
print $c;
Here Output will be 9

Explanation:
$a = 1 1 0 1
$b = 0 1 0 1
-------------
$c = 1 0 0 1
-------------
  • ~ (Operador Complementario) Este es un operador único que actúa como bits de inversión. Su trabajo es invertir los bits y da resultado usando la forma de complemento a 2 debido a un número binario con signo.
  • (<<) El operador de desplazamiento a la izquierda binario tomará dos números, desplaza a la izquierda los bits del primer operando, el segundo operando decide el número de lugares a desplazar. Realiza la multiplicación del operando izquierdo por el número de veces especificado por el operando derecho. Por ejemplo:
$a = 60;
$c = $a << 2;
print $c;

Output: 240

Explanation:
60 * 2  =  120 ---(1)
120 * 2 = 240  ---(2)
  • (>>) El operador de desplazamiento binario a la derecha tomará dos números, desplaza a la derecha los bits del primer operando, el segundo operando decide el número de lugares a desplazar. Realiza la división del operando izquierdo por el número de veces especificado por el operando derecho. Por ejemplo:
$a = 60;
$c = $a >> 2;
print $c;
Output: 15

Explanation:
60 / 2   = 30   ---(1)
30 / 2   =  15  ---(2)

Programa: Para demostrar el funcionamiento de los operadores bit a bit: 

Perl

# Perl Program to illustrate the Bitwise operators
#!/usr/local/bin/perl
use integer;
 
# Operands
$a = 80;
$b = 2;
 
# Bitwise AND Operator
$result = $a & $b;
print "Bitwise AND: ", $result, "\n";
 
# Bitwise OR Operator
$result = $a | $b;
print "Bitwise OR: ", $result, "\n";
 
# Bitwise XOR Operator
$result = $a ^ $b;
print "Bitwise XOR: ", $result, "\n";
 
# Bitwise Complement Operator
$result = ~$a;
print "Bitwise Complement: ", $result, "\n";
 
# Bitwise Left Shift Operator
$result = $a << $b;
print "Bitwise Left Shift: ", $result, "\n";
 
# Bitwise Right Shift Operator
$result = $a >> $b;
print "Bitwise Right Shift: ", $result, "\n";

Producción: 

Bitwise AND: 0
Bitwise OR: 82
Bitwise XOR: 82
Bitwise Complement: -81
Bitwise Left Shift: 320
Bitwise Right Shift: 20

Operadores de Asignación

Los operadores de asignación se utilizan para asignar un valor a una variable. El operando del lado izquierdo del operador de asignación es una variable y el operando del lado derecho del operador de asignación es un valor. 
A continuación se muestran diferentes tipos de operadores de asignación: 

  • “=”(Asignación Simple) : Este es el operador de asignación más simple. Este operador se utiliza para asignar el valor de la derecha a la variable de la izquierda. 
    Ejemplo :
$a = 10;
$b = 20;
  • “+=”(Agregar asignación) : este operador es una combinación de los operadores ‘+’ y ‘=’. Este operador primero suma el valor actual de la variable de la izquierda al valor de la derecha y luego asigna el resultado a la variable de la izquierda. 
    Ejemplo :
($a += $b) can be written as ($a = $a + $b)
  • Si inicialmente el valor almacenado en a es 5, entonces ($a += 6) = 11.
  • “-=”(Restar asignación) : este operador es una combinación de los operadores ‘-‘ y ‘=’. Este operador primero resta el valor actual de la variable de la izquierda del valor de la derecha y luego asigna el resultado a la variable de la izquierda. 
    Ejemplo :
($a -= $b) can be written as ($a = $a - $b)
  • Si inicialmente el valor almacenado en a es 8. Entonces ($a -= 6) = 2.
  • “*=”(Multiplicar asignación) : este operador es una combinación de los operadores ‘*’ y ‘=’. Este operador primero multiplica el valor actual de la variable de la izquierda por el valor de la derecha y luego asigna el resultado a la variable de la izquierda. 
    Ejemplo :
($a *= $b) can be written as ($a = $a * $b)
  • Si inicialmente el valor almacenado en a es 5. Entonces ($a *= 6) = 30.
  • “/=”(asignación de división) : este operador es una combinación de los operadores ‘/’ y ‘=’. Este operador primero divide el valor actual de la variable de la izquierda por el valor de la derecha y luego asigna el resultado a la variable de la izquierda. 
    Ejemplo :
($a /= $b) can be written as ($a = $a / $b)
  • Si inicialmente el valor almacenado en a es 6. Entonces ($a /= 2) = 3.
  • “%=”(Asignación de módulo) : este operador es una combinación de los operadores ‘%’ y ‘=’. Este operador primero modula el valor actual de la variable de la izquierda por el valor de la derecha y luego asigna el resultado a la variable de la izquierda. 
    Ejemplo : 
     
($a %= $b) can be written as ($a = $a % $b)
  • Si inicialmente el valor almacenado en a es 6. Entonces ($a %= 2) = 0.
  • “**=”(Asignación de exponentes) : Este operador es una combinación de los operadores ‘**’ y ‘=’. Este operador primero exponen el valor actual de la variable de la izquierda por el valor de la derecha y luego asigna el resultado a la variable de la izquierda. 
    Ejemplo :
($a **= $b) can be written as ($a = $a ** $b)
  • Si inicialmente, el valor almacenado en a es 6. Entonces ($a **= 2) = 36.

Programa: Para demostrar el funcionamiento de los Operadores de Asignación 

Perl

# Perl program to demonstrate the working
# of Assignment Operators
#!/usr/local/bin/perl
 
# taking two variables & using
# simple assignments operation
$a = 8;
$b = 5;
 
# using Assignment Operators
print "Addition Assignment Operator: ", $a += $b, "\n";
 
$a = 8;
$b = 4;
print "Subtraction Assignment Operator: ", $a -= $b, "\n" ;
 
$a = 8;
$b = 4;
print "Multiplication Assignment Operator: ", $a*=$b, "\n";
 
$a = 8;
$b = 4;
print "Division Assignment Operator: ",$a/=$b, "\n";
 
$a = 8;
$b = 5;
print "Modulo Assignment Operator: ", $a%=$b,"\n";
 
$a = 8;
$b = 4;
print "Exponent Assignment Operator: ", $a**=$b, "\n";
         

Producción: 

Addition Assignment Operator: 13
Subtraction Assignment Operator: 4
Multiplication Assignment Operator: 32
Division Assignment Operator: 2
Modulo Assignment Operator: 3
Exponent Assignment Operator: 4096

Operador Ternario

Es un operador condicional que es una versión abreviada de la declaración if-else. Tiene tres operandos y de ahí el nombre ternario. Devolverá uno de dos valores dependiendo del valor de una expresión booleana.

Sintaxis: 

condition ? first_expression : second_expression;

Explicación:  

condition: It must be evaluated to true or false.
If the condition is true
first_expression is evaluated and becomes the result.
If the condition is false,
second_expression is evaluated and becomes the result.

Ejemplo:  

Perl

# Perl program to demonstrate the working
# of Ternary Operator
 
$x = 5;
$y = 10;
 
# To find which value is greater
# Using Ternary Operator
$result = $x > $y ? $x : $y;
 
# displaying the output
print "The Larger Number is: $result"      

Producción: 

The Larger Number is: 10

Nota: En el operador Ternario la condición puede ser cualquier expresión también que se pueda hacer usando los diferentes operadores como operadores relacionales, operadores lógicos, etc.

Ejemplo:  

Perl

# Perl program to demonstrate the working
# of Ternary Operator by using expression
# as the condition
 
# here maximum value can be 100
$MAX_VALUE = 100;
 
# suppose user provide value
$user_value = 444;
 
# To find which whether user provided
# value is satisfying the maximum value
# or not by using Ternary Operator
$result = $user_value <= $MAX_VALUE ? $user_value : $MAX_VALUE;
 
# displaying the output
# Here it will be MAX_VALUE
print "$result"     

Producción: 

100

Publicación traducida automáticamente

Artículo escrito por vaishali bhatia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *