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). Algunos de los operadores ya discutidos en Perl Operators Set – 1 . Los operadores restantes se discutirán en este artículo:
- Citar como operadores
- Operadores de manipulación de strings
- Operador de rango
- Operador de incremento y decremento automático
- Operador de flecha
Operadores tipo cotización
En estos operadores, {} representará un par de delimitadores que elija el usuario. En esta categoría hay tres operadores de la siguiente manera:
- q{ } : Encierra una string entre comillas simples (”) y no puede interpolar la variable de string. Por ejemplo: q{geek} da ‘geek’.
- qq{ } : Encerrará una string entre comillas dobles («») y puede interpolar la variable de string. Por ejemplo: qq{geek} da «geek».
- qx{ } : Encerrará una string entre comillas invertidas («) . Por ejemplo: qq{geek} da `geek`.
Ejemplo:
Perl
# Perl program to demonstrate the Quote # Like Operators #!/usr/local/bin/perl # taking a string variable $g = "Geek"; # using single quote Operators # this operator will not # interpolate the string variable $r = q{$g}; print "Value of g is = $r\n"; # using double quote Operators # this operator will interpolate # the string variable $r = qq{$g}; print "Value of g is = $r\n"; # Executing unix date command $d = qx{date}; print "Value of qx{date} = $d";
Producción:
Value of g is = $g Value of g is = Geek Value of qx{date} = Sun Aug 12 14:19:43 UTC 2018
Operadores de manipulación de strings
Las strings son variables escalares y comienzan con ($) firman en Perl. La string la define el usuario entre comillas simples («) o comillas dobles («») . Hay diferentes tipos de operadores de strings en Perl, como sigue:
- Operador de concatenación (.) : las strings de Perl se concatenan con un símbolo de punto (.) . El signo de punto (.) se usa en lugar del signo (+) en Perl.
- Operador de repetición (x): El operador x acepta una string en su lado izquierdo y un número en su lado derecho. Devolverá la string del lado izquierdo repetida tantas veces como el valor del lado derecho.
Ejemplo:
Perl
# Perl program to demonstrate the # string operators #!/usr/bin/perl # Input first string $first_string = "Geeks"; # Input second string $second_string = "forGeeks"; # Implement Concatenation operator(.) $concat_string = $first_string.$second_string; # displaying concatenation string result print "Result of Concatenation Operator = $concat_string\n"; # Input a string $string = "GeeksforGeeks "; # Using Repetition operator(x) $str_result = $string x 4; # Display output # print string 4 times print "Result of Repetition Operator = $str_result";
Producción:
Result of Concatenation Operator = GeeksforGeeks Result of Repetition Operator = GeeksforGeeks GeeksforGeeks GeeksforGeeks GeeksforGeeks
Nota: Para obtener más información sobre los operadores de strings en Perl, puede consultar el artículo Operadores de strings de Perl .
Operador de rango (..)
En Perl, el operador de rango se usa para crear el rango de secuencia especificado de elementos especificados. Entonces, este operador se usa para crear un rango de secuencia específico en el que tanto el elemento inicial como el final serán inclusivos. Por ejemplo, 7 .. 10 creará una secuencia como 7, 8, 9, 10.
Ejemplo:
Perl
# Perl program to demonstrate the # Range operators #!/usr/bin/perl # using range operator @res = (1..4); # Display output print "Result of Range Operator = @res";
Producción:
Result of Range Operator = 1 2 3 4
Operador de incremento automático y decremento automático
Incremento automático(++): Incrementa el valor de un número entero. Cuando se coloca antes del nombre de la variable (también llamado operador de preincremento), su valor se incrementa instantáneamente. Por ejemplo, ++$x. Y cuando se coloca después del nombre de la variable (también llamado operador de incremento posterior), su valor se conserva temporalmente hasta la ejecución de esta instrucción y se actualiza antes de la ejecución de la siguiente instrucción. Por ejemplo, $x++.
Operador de decremento automático (–):Decrementa el valor de un entero. Cuando se coloca antes del nombre de la variable (también llamado operador de decremento previo), su valor se decrementa instantáneamente. Por ejemplo, –$x. Y cuando se coloca después del nombre de la variable (también llamado operador posterior al decremento), su valor se conserva temporalmente hasta la ejecución de esta instrucción y se actualiza antes de la ejecución de la siguiente instrucción. Por ejemplo, $x–.
Nota: Los operadores de incremento y decremento se llaman operadores unarios ya que trabajan con un solo operando.
Ejemplo:
Perl
# Perl program to demonstrate the Auto # Increment and Decrement Operator #!/usr/local/bin/perl # taking a variable $g = 10; # using pre Increment $res = ++$g; print "Value of res is = $res\n"; print "Value of g is = $g\n"; # taking a variable $g1 = 15; # using post Increment $res1 = $g1++; print "Value of res1 is = $res1\n"; print "Value of g1 is = $g1\n"; # taking a variable $g2 = 20; # using pre Decrement $res2 = --$g2; print "Value of res2 is = $res2\n"; print "Value of g2 is = $g2\n"; # taking a variable $g3 = 25; # using post Decrement $res3 = $g3--; print "Value of res3 is = $res3\n"; print "Value of g3 is = $g3\n";
Producción:
Value of res is = 11 Value of g is = 11 Value of res1 is = 15 Value of g1 is = 16 Value of res2 is = 19 Value of g2 is = 19 Value of res3 is = 25 Value of g3 is = 24
Operador de flecha (->)
Este operador se utiliza para desreferenciar una variable o un método de una clase o un objeto. Ejemplo: $ob->$x es un ejemplo para acceder a la variable $x desde el objeto $ob. En su mayoría, este operador se usa como referencia a un hash o una array para acceder a los elementos del hash o la array.
Ejemplo:
Perl
# Perl program to demonstrate the Arrow Operator #!/usr/local/bin/perl use strict; use warnings; # reference to array my $arr1 = [4,5,6]; # array inside array my $arr2 = [4,5,[6,7]]; # reference to hash my $has1 = {'a'=>1,'b'=>2}; # hash inside hash my $has2 = {'a'=>1,'b'=>2,'c'=>[1,2],'d'=>{'x'=>3,'y'=>4}}; # using arrow operator print "$arr1->[0]\n"; print "$arr2->[1]\n"; print "$arr2->[2][0]\n"; print "$has2->{'a'}\n"; print $has2->{'d'}->{'x'},"\n"; print $has2->{'c'}->[0],"\n";
Producción:
4 5 6 1 3 1
Puntos para recordar:
- Asociatividad de operadores: se utiliza para decidir si la ecuación o expresión se evaluará de izquierda a derecha o de derecha a izquierda. El orden de evaluación es muy importante. A veces puede verse igual desde ambos lados, pero puede producir una gran diferencia.
- Perl Arity: La aridad se puede definir como el número de operandos sobre los que opera un operador.
- Operador nulo : este operador opera en el operando cero.
- Operador unario: Estos operadores operan en un operando.
- Operador binario: estos operadores operan en dos operandos.
- Operador de lista: estos operadores operan en una lista de operandos.
- Perl Fixity: se puede definir como la posición del operador en relación con sus operandos.
- Operador infijo: Estos operadores vienen entre sus operandos. Por ejemplo, 5 + 8, aquí, el operador + se encuentra entre los operandos 5 y 8
- Operador de prefijo: estos operadores vienen antes de sus operandos. Por ejemplo, ! $g, – 7, Aquí, ! y – el operador viene antes de los operandos $a y 3.
- Operador de sufijo: estos operadores aparecen después de sus operandos. Por ejemplo, $y ++, Aquí, el operador ++ aparece después de los operandos $x.
- Operadores circunfijos: estos operadores encerraron sus operandos como constructor hash y operadores de comillas. Por ejemplo, (qq[..])
- Operadores poscircunfijos: estos operadores siguen a ciertos operandos y rodean a algunos operandos. Por ejemplo, $hash{$y}
Tabla de asociatividad y precedencia de operadores
Operador | Precedencia | Asociatividad |
---|---|---|
-> | Operador de flecha | De izquierda a derecha |
++, – | Incremento, decremento | no asociativo |
** | Exponente | De derecha a izquierda |
!, +, -, ~ | No, más unario, menos unario, complemento | De derecha a izquierda |
!=, ~= | No es igual a, complemento igual a | De izquierda a derecha |
*, /, % | Multiplicar, dividir, módulo | De izquierda a derecha |
<<, >> | Operadores de cambio | De izquierda a derecha |
<>, <=, >= | Comparación, Menos que igual a, derecha que igual a | no asociativo |
& | Y bit a bit | De izquierda a derecha |
|, ^ | Bit a bit O, EX-O | De izquierda a derecha |
&& | Y | De izquierda a derecha |
|| | O | De izquierda a derecha |
.. | Operador de rango | no asociativo |
*=, /=, +=, -= | Multiplicar igual a, dividir igual a, más igual a | De derecha a izquierda |
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA