Una guida per principianti al confronto dei valori in Perl

A volte gli operatori di confronto Perl possono confondere i nuovi programmatori Perl. La confusione deriva dal fatto che Perl ha in realtà due serie di operatori di confronto: uno per il confronto di valori numerici e uno per il confronto di valori American Standard Code for Information Interchange (ASCII). 

Poiché gli operatori di confronto vengono generalmente utilizzati per controllare il flusso logico del programma e prendere decisioni importanti, l'utilizzo dell'operatore errato per il valore che si sta testando può portare a bizzarri errori e ore di debug, se non si presta attenzione.

Non dimenticare di catturare ciò che è scritto in fondo a questa pagina per alcune cose dell'ultimo minuto da ricordare.

Uguale, Non uguale

Gli operatori di confronto più semplici e probabilmente più utilizzati testano per vedere se un valore è uguale a un altro valore. Se i valori sono uguali, il test restituisce true e se i valori non sono uguali, il test restituisce false.

Per testare l'uguaglianza di due numerico valori, utilizziamo l'operatore di confronto ==. Per testare l'uguaglianza di due corda valori, utilizziamo l'operatore di confronto eq (Pari).

Ecco un esempio di entrambi:

if (5 == 5) print "== per valori numerici \ n"; 
if ('moe' eq 'moe') print "eq (EQual) per valori stringa \ n";  

Testare il contrario, non uguale, è molto simile. Ricorda che questo test tornerà vero se i valori testati sono non uguali tra loro. Per vedere se due numerico i valori sono non uguali tra loro, utilizziamo l'operatore di confronto !=. Per vedere se due corda i valori sono non uguali tra loro, utilizziamo l'operatore di confronto NE (Non uguale).

if (5! = 6) print "! = per valori numerici \ n"; 
if ('moe' ne 'curly') print "ne (Not Equal) per valori stringa \ n";  

Maggiore di, Maggiore di o uguale a

Ora diamo un'occhiata a più grande di operatori di confronto. Utilizzando questo primo operatore, è possibile verificare se un valore è maggiore di un altro valore. Per vedere se due numerico i valori sono maggiori l'uno dell'altro, utilizziamo l'operatore di confronto >. Per vedere se due corda i valori sono maggiori l'uno dell'altro, utilizziamo l'operatore di confronto gt (Più grande di).

if (5> 4) print "> per valori numerici \ n"; 
if ('B' gt 'A') print "gt (Maggiore di) per i valori stringa \ n";  

Puoi anche provare maggiore o uguale a, che sembra molto simile. Tieni presente che questo test tornerà vero se i valori testati sono uguali tra loro o se il valore a sinistra è maggiore del valore a destra.

Per vedere se due numerico i valori sono maggiori o uguali tra loro, utilizziamo l'operatore di confronto > =. Per vedere se due corda i valori sono maggiori o uguali tra loro, utilizziamo l'operatore di confronto ge (Maggiore di uguale a).

if (5> = 5) print "> = per valori numerici \ n"; 
if ('B' ge 'A') print "ge (Maggiore di uguale a) per valori stringa \ n";  

Meno di, Meno di o uguale a

Esistono vari operatori di confronto che è possibile utilizzare per determinare il flusso logico dei programmi Perl. Abbiamo già discusso della differenza tra gli operatori di confronto numerico Perl e gli operatori di confronto di stringhe Perl, che può causare confusione ai nuovi programmatori Perl. Abbiamo anche imparato a dire se due valori sono uguali o non uguali tra loro e abbiamo imparato a dire se due valori sono maggiori o uguali tra loro.

Diamo un'occhiata a meno di operatori di confronto. Utilizzando questo primo operatore, è possibile verificare se un valore è meno di un altro valore. Per vedere se due numerico i valori sono meno di a vicenda, utilizziamo l'operatore di confronto <. Per vedere se due corda i valori sono meno di a vicenda, utilizziamo l'operatore di confronto lt (Meno di).

if (4 < 5)  print "< for numeric values\n"; 
if ('A' lt 'B') print "lt (Less Than) per valori stringa \ n";  

Puoi anche provare, minore o uguale a, che sembra molto simile. Ricorda che questo test tornerà vero se i valori testati sono uguali tra loro o se il valore a sinistra è inferiore al valore a destra. Per vedere se due numerico i valori sono minore o uguale a a vicenda, utilizziamo l'operatore di confronto <=. Per vedere se due corda i valori sono minore o uguale a a vicenda, utilizziamo l'operatore di confronto Le (Meno di uguale a).

 if (5 <= 5)  print "<= for numeric values\n"; 
if ('A' le 'B') print "le (Less-than Equal-to) per valori stringa \ n";  

Ulteriori informazioni sugli operatori di confronto

Quando parliamo di valori di stringa uguali tra loro, ci riferiamo ai loro valori ASCII. Pertanto, le lettere maiuscole sono tecnicamente inferiori alle lettere minuscole e maggiore è la lettera dell'alfabeto, maggiore è il valore ASCII.

Assicurati di controllare i valori ASCII se stai cercando di prendere decisioni logiche basate su stringhe.