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.
|
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