Perl operadores de comparação às vezes podem ser confusos para novos programadores Perl. A confusão decorre do fato de o Perl realmente ter dois conjuntos de operadores de comparação - um para comparar valores numéricos e um para comparar os valores da cadeia de caracteres do Código Padrão Americano para Intercâmbio de Informações (ASCII).
Como os operadores de comparação geralmente são usados para controlar o fluxo lógico do programa e tomar decisões importantes, usando o O operador errado para o valor que você está testando pode levar a erros bizarros e horas de depuração, se você não tomar cuidado.
Não esqueça de pegar o que está escrito na parte inferior desta página para lembrar algumas coisas de última hora.
Igual, Não Igual
Os operadores de comparação mais simples e provavelmente mais usados testam para verificar se um valor é igual a outro valor. Se os valores forem iguais, o teste retornará verdadeiro e, se os valores não forem iguais, o teste retornará falso.
Para testar a igualdade de dois
numérico valores, usamos o operador de comparação ==. Para testar a igualdade de dois corda valores, usamos o operador de comparação eq (Igual).Aqui está um exemplo de ambos:
if (5 == 5) {print "== para valores numéricos \ n"; }
if ('moe' eq 'moe') {print "eq (EQual) para valores de string \ n"; }
Testar o contrário, não igual, é muito semelhante. Lembre-se de que este teste retornará verdade se os valores testados forem não iguais um ao outro. Para ver se dois numérico valores são não iguais um ao outro, usamos o operador de comparação !=. Para ver se dois corda valores são não iguais um ao outro, usamos o operador de comparação ne (Não igual).
if (5! = 6) {print "! = para valores numéricos \ n"; }
if ('moe' ne 'curly') {print "ne (Não é igual) para valores de string \ n"; }
Maior que, maior que ou igual a
Agora vamos olhar para o Maior que operadores de comparação. Usando este primeiro operador, você pode testar para ver se um valor é maior que outro valor. Para ver se dois numérico valores são maiores que o outro, usamos o operador de comparação >. Para ver se dois corda valores são maiores que o outro, usamos o operador de comparação gt (Maior que).
if (5> 4) {print "> para valores numéricos \ n"; }
if ('B' gt 'A') {print "gt (Maior que) para valores de string \ n"; }
Você também pode testar Melhor que ou igual a, que parece muito semelhante. Lembre-se de que este teste retornará verdade se os valores testados forem iguais entre si ou se o valor à esquerda for maior que o valor à direita.
Para ver se dois numérico valores são maiores ou iguais um ao outro, usamos o operador de comparação >=. Para ver se dois corda valores são maiores ou iguais um ao outro, usamos o operador de comparação ge (Maior que igual a).
if (5> = 5) {print "> = para valores numéricos \ n"; }
if ('B' ge 'A') {print "ge (Maior que Igual a) para valores de string \ n"; }
Menor que, menor que ou igual a
Há uma variedade de operadores de comparação que você pode usar para determinar o fluxo lógico dos seus programas Perl. Já discutimos a diferença entre os operadores de comparação numérica do Perl e os operadores de comparação de strings do Perl, o que pode causar alguma confusão aos novos programadores do Perl. Também aprendemos como saber se dois valores são iguais ou não um ao outro e aprendemos como saber se dois valores são maiores ou iguais um ao outro.
Vamos olhar para o Menor que operadores de comparação. Usando este primeiro operador, você pode testar para ver se um valor é Menor que outro valor. Para ver se dois numérico valores são Menor que uns aos outros, usamos o operador de comparação <. Para ver se dois corda valores são Menor que uns aos outros, usamos o operador de comparação lt (Menor que).
if (4 <5) {print "
if ('A' lt 'B') {print "lt (Less Than) para valores de string \ n"; }
Você também pode testar, menos que ou igual a, que parece muito semelhante. Lembre-se de que este teste retornará verdade se os valores testados forem iguais entre si ou se o valor à esquerda for menor que o valor à direita. Para ver se dois numérico valores são menos que ou igual a uns aos outros, usamos o operador de comparação <=. Para ver se dois corda valores são menos que ou igual a uns aos outros, usamos o operador de comparação le (Menor que igual a).
if (5 <= 5) {print "<= para valores numéricos \ n"; }
if ('A' le 'B') {print "le (menor que igual a) para valores de string \ n"; }
Mais informações sobre operadores de comparação
Quando falamos sobre os valores das strings serem iguais entre si, estamos nos referindo aos seus valores ASCII. Portanto, as letras maiúsculas são tecnicamente menores que as minúsculas e, quanto maior a letra do alfabeto, maior o valor ASCII.
Verifique seus valores ASCII se estiver tentando tomar decisões lógicas com base em strings.