Operadores de Comparación

Perl tiene dos conjuntos de operadores de comparación: uno para los números y otros para las cadenas. Los operadores de cadenas se componen de letras (estilo FORTRAN) mientras que los numéricos siguen el estilo C.


Tabla: Operadores de Comparación
Comparación Numerico Cadena
Igual == eq
distinto != ne
Menor que < lt
mayor que > gt
Menor o igual que <= le
Mayor o igual que >= ge
Comparación <=> cmp


La comparación entre cadenas sigue el orden lexicográfico.

'a' lt 'z' # TRUE
0 < 5 # TRUE
"H" cmp "He" # -1 operador de comparacion (0 si =, 1 si $a>$b, -1 si $a<$b)
10 <=> 8.5   #  1 el operador "guerra de las galaxias"
             #  <=> Darth Vader's fighter!
Los operadores de comparación de cadenas no deberían usarse para números, salvo que sea eso precisamente lo que se quiere (esto es, 10 va antes de 2). Analogamente, los operadores de comparación de números no deberían usarse para cadenas:
"a" == "b" # TRUE, ambas cadenas como números son 0

Casiano Rodríguez León
Licencia de Creative Commons
Principios de Programación Imperativa, Funcional y Orientada a Objetos Una Introducción en Perl/Una Introducción a Perl
por Casiano Rodríguez León is licensed under a Creative Commons Reconocimiento 3.0 Unported License.

Permissions beyond the scope of this license may be available at http://campusvirtual.ull.es/ocw/course/view.php?id=43.
2012-06-19