3.2. Logische Variablen
In Perl gibt es keinen explizieten Datentypen für "wahr" und "falsch". Statt dessen werden normale Skalare mit genutzt und in Abhängigkeit vom Kontext entsprechend bewertet. Dabei gilt die Regel "0" ist falsch und ungleich Null ist wahr. Einige Beispiele:

Beispiel
Wert
Bemerkung
0
unwahr
 
1
wahr
 
42
wahr
 
1 - 1
unwahr
1 - 1 = 0
""
unwahr
Leerer String
undef
unwahr
Nicht definierter Wert
"0"
unwahr
Wird umgewandelt
"00"
wahr
nicht gleich "0" oder 0

Im allgemeinen haben logische Datentypen aber nur im Zusammenhang mit Vergleichen Bedeutung. Folgende Vergleichsoperatoren gibt es in Perl:

Operator
Beschreibung
Beispiel
< <= > >= != ==
Numerischer Vergleich (Zahlen)
42 < 123
lt le gt ge ne eq
Lexikalischer Vergleich (Strings)
"anton" lt "berta"
&& ||
Logische Verknüpfung (und, oder)
( $a < $b ) && ($c > $a)