Una guía para principiantes para comparar valores en Perl

Los operadores de comparación de Perl a veces pueden ser confusos para los nuevos programadores de Perl. La confusión surge del hecho de que Perl en realidad tiene dos conjuntos de operadores de comparación: uno para comparar valores numéricos y otro para comparar valores de cadena del Código Estándar Americano para el Intercambio de Información (ASCII). 

Dado que los operadores de comparación generalmente se usan para controlar el flujo lógico del programa y tomar decisiones importantes, el uso del operador incorrecto para el valor que está probando puede generar errores extraños y horas de depuración, si no tiene cuidado.

No olvide leer lo que está escrito al final de esta página para recordar algunas cosas de último momento..

Igual, no igual

Los operadores de comparación más simples y probablemente más utilizados prueban para ver si un valor es igual a otro valor. Si los valores son iguales, la prueba devuelve verdadero, y si los valores no son iguales, la prueba devuelve falso.

Para probar la igualdad de dos numérico valores, utilizamos el operador de comparación ==. Para probar la igualdad de dos cuerda valores, utilizamos el operador de comparación eq (Igual).

Aquí hay un ejemplo de ambos:

if (5 == 5) print "== para valores numéricos \ n"; 
if ('moe' eq 'moe') print "eq (EQual) para valores de cadena \ n";  

La prueba de lo contrario, no igual, es muy similar. Recuerda que esta prueba regresará cierto si los valores probados son no igual el uno al otro. A ver si dos numérico los valores son no iguales entre sí, utilizamos el operador de comparación !=. A ver si dos cuerda los valores son no iguales entre sí, utilizamos el operador de comparación Nebraska (No es igual).

if (5! = 6) print "! = para valores numéricos \ n"; 
if ('moe' ne 'curly') print "ne (Not Equal) for string string \ n";  

Mayor que, mayor que o igual a

Ahora veamos el mas grande que operadores de comparación. Usando este primer operador, puede probar para ver si un valor es mayor que otro valor. A ver si dos numérico los valores son mayores entre sí, utilizamos el operador de comparación >. A ver si dos cuerda los valores son mayores entre sí, utilizamos el operador de comparación gt (Mas grande que).

if (5> 4) print "> para valores numéricos \ n"; 
if ('B' gt 'A') print "gt (Mayor que) para valores de cadena \ n";  

También puedes probar Mayor qué o igual a, que se ve muy similar Tenga en cuenta que esta prueba regresará cierto si los valores probados son iguales entre sí, o si el valor de la izquierda es mayor que el valor de la derecha.

A ver si dos numérico los valores son mayores o iguales entre sí, utilizamos el operador de comparación > =. A ver si dos cuerda los valores son mayores o iguales entre sí, utilizamos el operador de comparación ge (Mayor que igual a).

if (5> = 5) print "> = para valores numéricos \ n"; 
if ('B' ge 'A') print "ge (Mayor que igual a) para valores de cadena \ n";  

Menor que, menor que o igual a

Hay una variedad de operadores de comparación que puede usar para determinar el flujo lógico de sus programas Perl. Ya hemos discutido la diferencia entre los operadores de comparación numéricos de Perl y los operadores de comparación de cadenas de Perl, lo que puede causar cierta confusión a los nuevos programadores de Perl. También hemos aprendido cómo saber si dos valores son iguales o no iguales, y hemos aprendido cómo saber si dos valores son mayores o iguales entre sí..

Veamos el menos que operadores de comparación. Usando este primer operador, puede probar para ver si un valor es menos que Otro valor. A ver si dos numérico los valores son menos que entre nosotros, utilizamos el operador de comparación <. A ver si dos cuerda los valores son menos que entre nosotros, utilizamos el operador de comparación lt (Menos que).

si (4 < 5)  print "< for numeric values\n"; 
if ('A' lt 'B') print "lt (Less Than) para valores de cadena \ n";  

También puedes probar, Menos que o igual a, que se ve muy similar Recuerda que esta prueba regresará cierto si los valores probados son iguales entre sí, o si el valor de la izquierda es menor que el valor de la derecha. A ver si dos numérico los valores son Menos que o igual a entre nosotros, utilizamos el operador de comparación <=. A ver si dos cuerda los valores son Menos que o igual a entre nosotros, utilizamos el operador de comparación le (Menos que igual a).

 si (5 <= 5)  print "<= for numeric values\n"; 
if ('A' le 'B') print "le (Menor que igual a) para valores de cadena \ n";  

Más información sobre operadores de comparación

Cuando hablamos de que los valores de cadena son iguales entre sí, nos referimos a sus valores ASCII. Entonces, las letras mayúsculas son técnicamente menores que las letras minúsculas, y cuanto mayor sea la letra en el alfabeto, mayor será el valor ASCII.

Asegúrese de verificar sus valores ASCII si está tratando de tomar decisiones lógicas basadas en cadenas.