Perl vergelijkingsoperators kunnen soms verwarrend zijn voor nieuwe Perl-programmeurs. De verwarring komt voort uit het feit dat Perl eigenlijk twee sets vergelijkingsoperatoren heeft - één om te vergelijken numerieke waarden en één voor het vergelijken van string American Standard Code for Information Interchange (ASCII) waarden.
Aangezien vergelijkingsoperatoren meestal worden gebruikt om de logische programmastroom te regelen en belangrijke beslissingen te nemen met behulp van de verkeerde operator voor de waarde die u test, kan leiden tot bizarre fouten en uren foutopsporing, als u niet voorzichtig bent.
Vergeet niet te vangen wat er helemaal onderaan deze pagina staat voor enkele last-minute dingen om te onthouden.
Gelijk, niet gelijk
De eenvoudigste en waarschijnlijk meest gebruikte vergelijkingsoperatoren testen of een waarde gelijk is aan een andere waarde. Als de waarden gelijk zijn, retourneert de test true en als de waarden niet gelijk zijn, retourneert de test false.
Voor het testen van de gelijkheid van twee
numeriek waarden, gebruiken we de vergelijkingsoperator ==. Voor het testen van de gelijkheid van twee draad waarden, gebruiken we de vergelijkingsoperator eq (Gelijk).Hier is een voorbeeld van beide:
if (5 == 5) {print "== voor numerieke waarden \ n"; }
if ('moe' eq 'moe') {print "eq (EQual) voor stringwaarden \ n"; }
Testen op het tegenovergestelde, niet gelijk, lijkt erg op elkaar. Vergeet niet dat deze test zal terugkeren waar als de geteste waarden zijn niet gelijk aan elkaar. Om te zien of twee numeriek waarden zijn niet gelijk aan elkaar, gebruiken we de vergelijkingsoperator !=. Om te zien of twee draad waarden zijn niet gelijk aan elkaar, gebruiken we de vergelijkingsoperator ne (Niet gelijk).
if (5! = 6) {print "! = voor numerieke waarden \ n"; }
if ('moe' ne 'curly') {print "ne (Niet gelijk) voor stringwaarden \ n"; }
Groter dan, groter dan of gelijk aan
Laten we nu eens kijken naar de groter dan vergelijkingsoperatoren. Met deze eerste operator kunt u testen of een waarde groter is dan een andere. Om te zien of twee numeriek waarden groter zijn dan elkaar, we gebruiken de vergelijkingsoperator >. Om te zien of twee draad waarden groter zijn dan elkaar, we gebruiken de vergelijkingsoperator gt (Groter dan).
if (5> 4) {print "> voor numerieke waarden \ n"; }
if ('B' gt 'A') {print "gt (Groter dan) voor stringwaarden \ n"; }
Je kunt ook testen op groter dan of gelijk aan, die erg op elkaar lijkt. Houd er rekening mee dat deze test zal terugkeren waar als de geteste waarden gelijk zijn aan elkaar, of als de waarde links groter is dan de waarde rechts.
Om te zien of twee numeriek waarden groter dan of gelijk aan elkaar zijn, gebruiken we de vergelijkingsoperator >=. Om te zien of twee draad waarden groter dan of gelijk aan elkaar zijn, gebruiken we de vergelijkingsoperator ge (Groter dan gelijk aan).
if (5> = 5) {print "> = voor numerieke waarden \ n"; }
if ('B' ge 'A') {print "ge (groter dan gelijk aan) voor stringwaarden \ n"; }
Kleiner dan, Kleiner dan of gelijk aan
Er zijn verschillende vergelijkingsoperatoren die u kunt gebruiken om de logische stroom van uw Perl-programma's te bepalen. We hebben al het verschil besproken tussen de operatoren voor de vergelijking van de numerieke Perl en de operatoren voor de vergelijking van de Perl-reeks, wat enige verwarring kan veroorzaken bij nieuwe Perl-programmeurs. We hebben ook geleerd hoe te bepalen of twee waarden gelijk zijn aan of niet gelijk zijn aan elkaar, en we hebben geleerd hoe te bepalen of twee waarden groter dan of gelijk aan elkaar zijn.
Laten we eens kijken naar de minder dan vergelijkingsoperatoren. Met deze eerste operator kunt u testen of er één waarde is minder dan een andere waarde. Om te zien of twee numeriek waarden zijn minder dan elkaar gebruiken we de vergelijkingsoperator <. Om te zien of twee draad waarden zijn minder dan elkaar gebruiken we de vergelijkingsoperator lt (Minder dan).
if (4 <5) {print "
if ('A' lt 'B') {print "lt (Less Than) voor stringwaarden \ n"; }
Je kunt ook testen op, minder dan of gelijk aan, die erg op elkaar lijkt. Vergeet niet dat deze test zal terugkeren waar als de geteste waarden gelijk zijn aan elkaar, of als de waarde links lager is dan de waarde rechts. Om te zien of twee numeriek waarden zijn minder dan of gelijk aan elkaar gebruiken we de vergelijkingsoperator <=. Om te zien of twee draad waarden zijn minder dan of gelijk aan elkaar gebruiken we de vergelijkingsoperator le (Minder dan gelijk aan).
if (5 <= 5) {print "<= voor numerieke waarden \ n"; }
if ('A' le 'B') {print "le (Less-than Equal-to) voor stringwaarden \ n"; }
Meer informatie over vergelijkingsoperatoren
Als we het hebben over stringwaarden die gelijk zijn aan elkaar, verwijzen we naar hun ASCII-waarden. De hoofdletters zijn dus technisch minder dan de kleine letters en hoe hoger de letter in het alfabet, hoe hoger de ASCII-waarde.
Zorg ervoor dat u uw ASCII-waarden controleert als u logische beslissingen probeert te nemen op basis van tekenreeksen.