Perl les opérateurs de comparaison peuvent parfois être déroutants pour les nouveaux programmeurs Perl. La confusion vient du fait que Perl a en fait deux ensembles d'opérateurs de comparaison - un pour comparer valeurs numériques et une pour comparer les valeurs de chaîne American Standard Code for Information Interchange (ASCII).
Étant donné que les opérateurs de comparaison sont généralement utilisés pour contrôler le flux de programme logique et prendre des décisions importantes, un mauvais opérateur pour la valeur que vous testez peut entraîner des erreurs bizarres et des heures de débogage, si vous n'y faites pas attention.
N'oubliez pas d'attraper ce qui est écrit tout en bas de cette page pour des choses de dernière minute à retenir.
Égal, pas égal
Les opérateurs de comparaison les plus simples et probablement les plus utilisés testent pour voir si une valeur est égale à une autre valeur. Si les valeurs sont égales, le test renvoie vrai et si les valeurs ne sont pas égales, le test retourne faux.
Pour tester l'égalité de deux numérique valeurs, nous utilisons l'opérateur de comparaison ==. Pour tester l'égalité de deux chaîne valeurs, nous utilisons l'opérateur de comparaison eq (Égal).
Voici un exemple des deux:
if (5 == 5) {print "== pour les valeurs numériques \ n"; }
if ('moe' eq 'moe') {print "eq (EQual) pour les valeurs de chaîne \ n"; }
Tester l'inverse, pas égal, est très similaire. N'oubliez pas que ce test reviendra vrai si les valeurs testées sont ne pas égaux les uns aux autres. Pour voir si deux numérique les valeurs sont ne pas égaux les uns aux autres, nous utilisons l'opérateur de comparaison !=. Pour voir si deux chaîne les valeurs sont ne pas égaux les uns aux autres, nous utilisons l'opérateur de comparaison ne (Inégal).
if (5! = 6) {print "! = pour les valeurs numériques \ n"; }
if ('moe' ne 'curly') {print "ne (Not Equal) for string values \ n"; }
Supérieur à, Supérieur à ou égal à
Voyons maintenant le plus grand que opérateurs de comparaison. En utilisant ce premier opérateur, vous pouvez tester pour voir si une valeur est supérieure à une autre valeur. Pour voir si deux numérique les valeurs sont supérieures les unes aux autres, nous utilisons l'opérateur de comparaison >. Pour voir si deux chaîne les valeurs sont supérieures les unes aux autres, nous utilisons l'opérateur de comparaison gt (Plus grand que).
if (5> 4) {print "> pour les valeurs numériques \ n"; }
if ('B' gt 'A') {print "gt (Supérieur à) pour les valeurs de chaîne \ n"; }
Vous pouvez également tester Plus grand ou égal à, qui ressemble beaucoup. Gardez à l'esprit que ce test reviendra vrai si les valeurs testées sont égales entre elles, ou si la valeur de gauche est supérieure à la valeur de droite.
Pour voir si deux numérique les valeurs sont supérieures ou égales les unes aux autres, nous utilisons l'opérateur de comparaison >=. Pour voir si deux chaîne les valeurs sont supérieures ou égales les unes aux autres, nous utilisons l'opérateur de comparaison ge (Supérieur à égal à).
if (5> = 5) {print "> = pour les valeurs numériques \ n"; }
if ('B' ge 'A') {print "ge (Supérieur à Égal à) pour les valeurs de chaîne \ n"; }
Inférieur à, inférieur ou égal à
Il existe une variété d'opérateurs de comparaison que vous pouvez utiliser pour déterminer le flux logique de vos programmes Perl. Nous avons déjà discuté de la différence entre les opérateurs de comparaison numérique Perl et les opérateurs de comparaison de chaînes Perl, ce qui peut causer une certaine confusion aux nouveaux programmeurs Perl. Nous avons également appris à savoir si deux valeurs sont égales ou non égales l'une à l'autre, et nous avons appris à savoir si deux valeurs sont supérieures ou égales l'une à l'autre.
Regardons le moins que opérateurs de comparaison. En utilisant ce premier opérateur, vous pouvez tester pour voir si une valeur est moins que une autre valeur. Pour voir si deux numérique les valeurs sont moins que les uns des autres, nous utilisons l'opérateur de comparaison <. Pour voir si deux chaîne les valeurs sont moins que les uns des autres, nous utilisons l'opérateur de comparaison lt (Moins que).
if (4 <5) {print "
if ('A' lt 'B') {print "lt (Less Than) pour les valeurs de chaîne \ n"; }
Vous pouvez également tester, inférieur ou égal à, qui ressemble beaucoup. N'oubliez pas que ce test reviendra vrai si les valeurs testées sont égales entre elles, ou si la valeur de gauche est inférieure à la valeur de droite. Pour voir si deux numérique les valeurs sont inférieur ou égal à les uns des autres, nous utilisons l'opérateur de comparaison <=. Pour voir si deux chaîne les valeurs sont inférieur ou égal à les uns des autres, nous utilisons l'opérateur de comparaison le (Inférieur à égal à).
if (5 <= 5) {print "<= pour les valeurs numériques \ n"; }
if ('A' le 'B') {affiche "le (inférieur à égal) pour les valeurs de chaîne \ n"; }
Plus d'informations sur les opérateurs de comparaison
Lorsque nous parlons de valeurs de chaînes égales les unes aux autres, nous faisons référence à leurs valeurs ASCII. Ainsi, les lettres majuscules sont techniquement inférieures aux lettres minuscules, et plus la lettre est élevée dans l'alphabet, plus la valeur ASCII est élevée.
Assurez-vous de vérifier vos valeurs ASCII si vous essayez de prendre des décisions logiques basées sur des chaînes.