Hemos visto que el perl utiliza los operadores matemáticos normales empleados para los números: + para la suma, – para la resta, * para la multiplicación, / para la división.

Además, == se utiliza para la igualdad, y vuelve “verdadero” o “falso” según que los números sean iguales o no. El opuesto es != .

 

Como se puede esperar, < es el símbolo de menor y > el de mayor, <= es el símbolo de menor o igual e => el de mayor o igual.

 

Usar estos símbolos con operadores no matemáticos, producirá, si se llama al script con la opción -w, un warning.

 

Hay también operadores que trabajan en la cadena:

 

.

(sí, realmente el punto) ejecuta la concatenación

 

eq

controla que las cadenas sean iguales

 

ne

es el opuesto de eq

 

3 == 3

es verdad

 

3 == “03”

es verdad

 

“bla” eq “arr”

es falso

 

“bla” ne “arr”

es verdad

 

“bla”.3

es equivalente a “bla”.”3″, que restituye “bla3”

 

“bla eek!”

es lo mismo di $bla.”eek!”

 

Están después los operadores lógicos: && (AND), || (OR), ! (NOT). && y || van entre dos expresiones, mientras ! va al principio de la expresión (ya que la niega)

 

3 == “03” && “bla”ne “arr”

es verdadera

 

Esta expresión funciona porque == y tienen una precedencia más alta respecto a &&, pero la misma expresión habría podido escribirse más claramente como:

 

(3 == 03) && (“bla” ne “arr”)

 

!(“eek” eq $bla)

es lo mismo de (“eek” ni $bla)

 

Una particularidad de los operadores && y || es que pueden utilizarse como atajo para “se ha verificado la condición haz esto”.

 

unlink “dumbfile” || die “Couldn’t remove file\n”;

 

De este modo primero se valora unlink() y, si esto tiene éxito, la condición introducida por || viene ignorada, de otro modo (en caso de fracaso) dicha condición se ejecuta.

El operador =~ es curioso: éste mira si 2 pattern son iguales y los sustituye. La sintaxis es:

 

valor =~ /pattern/;

Controla si las variables son iguales

 

valor !~ /pattern/

Forma corta para !($variable=~/pattern/;). Controla que no sean iguales

 

$variable =~ s/pattern/replacement/;

Busca el pattern en la variable y la sustituye con replacement

 

Si la variable se omite, =~ y !~ actúan sobre $_

En la primera forma, sin la s/ , =~ y !~ no modifican los argumentos, pero realiza un test sólo si se acoplan. En la segunda forma, el pattern “replacement” se sustituye con pattern si se encuentra.

 

Y aún más, algunos modificadores pueden añadirse antes del ; para especificar como los pattern tienen que acoplarse:

 

i – case-insensitive

g – match globale. Controla y restituye también más de un valor

 

Los pattern son expresiones regulares bastante parecidas a las de grep. Esto se explicará inmediatamente.

 

“bla” =~ /bl/;

verdadero porque bla contiene bl

 

“blabla” =~ /bl/;

idem

 

“blabla” =~ /bl/g;

encuentra 2 matches

 

“bla” !~ /c/i;

vero

 

$var = “blabla”;

 

$var =~ s/bl/QQ/;

verdadero, y cambia $var en “QQahbla”

 

$var =~ s/BL/qq/ig;

verdadero, y $var se transforma en “qqahqqah”

 

El operador = asigna el segundo elemento al primero. Hay atajos para usar este operador.

 

$var += $value:

añade $value a $var

 

$var -= $value;

resta $value de $var

 

$var *= $value;

multiplica $var por $value

 

$var /= $value;

divide $var por $value

 

Estas expresiones se utilizan para incrementar el valor de las variables:

 

$counter += $step;

 

$var ++

añade 1 a $var

 

++$var

valora $var+1

 

Todos estos operadores (menos =~) y el matching de los pattern se aplican también en C, de manera casi idéntica

Apple se está imponiendo a Microsoft La larga batalla entre Apple y Microsoft por el mercado de computación parece estar inclinando la balanza en favor de la empresa de Steve Jobs, tras a...
Màs de 200 millones de usuarios de Facebook juegan mensualmente a través de esa red social Mientras Zynga y otros comensales se pelean por cuestiones de copyright, en Facebook no tienen problema alguno con que la gente pase muchas horas fren...
¿Qué es una máquina virtual y para qué sirve? En computación, virtualización se refiere a crear una versión virtual de cualquier cosa, así sea un dispositivo de almacenamiento, recursos de red o u...
Curiosidades Sobre Linux Linus Torvalds desarrolló el kernel de Linux mientras estudiaba en la Universidad de Helsinki en 1991. En 2009 el 75% del código creado para Linu...
Usando Arreglos en PHP Las tablas (o array en inglés), son muy importantes en PHP, ya que generalmente, las funciones que devuelven varios valores, como las funciones liga...
Change PHP variables using .htaccess If you need to change the way your PHP is working you can do that using .htaccess. Please, note that not all PHP options can be changed using .htacce...
Facebook apoya una campaña de desprestigio a Google A Facebook no se les escapa una. Y a los medios tampoco. Hace apenas unos días, se acaba de destapar un pastel que no beneficia para nada a los chicos...
Amazon quiere revolucionar el comercio electronico en España Tras numerosas especulaciones durante el último año, Amazon, el gigante del comercio online anunciará el próximo miércoles 14 de septiembre la apertur...
Google lanza una guía de estilo para desarrolladores de Android 700.000 nuevos dispositivos con el sistema operativo Android son activados cada día y mientras su plataforma sigue expandiéndose desde la firma de la ...
Cual es el Perfil de Un Usuario Promedio de Facebook? Facebook ya cuenta con más de 750 millones de usuarios registrados. Proceden de todas partes del mundo. Unos simplemente se registraron pero nunca o c...
Operatores en PERL
Tagged on: