Natürlich kennt Perl auch if
/then
/else
-Anweisungen. Sie sehen wie folgt aus:
if ($a) {
print "The string is not empty\n";
} else {
print "The string is empty\n";
}
Erinnern wir uns, das ein String als false
betrachtet wird, falls er leer ist, sowie
wenn $a
gleich 0
ist.
Es gibt aber noch mehr Möglichkeiten:
if (!$a) { # Das ! ist der NOT Operator
print "The string is empty\n";
} elsif (length($a) == 1) { # falls obiges false
print "The string has one character\n";
} elsif (length($a) == 2) { # falls obiges false
print "The string has two characters\n";
} else { # andernfalls
print "The string has lots of characters\n";
}
Beachte: bei elsif
muss tatsächlich das 'e' fehlen.
Wir nehmen ein ziemlich langes File, welches Text und Leerzeilen enthält. Zum Beispiel eine Geschichte. Von der letzten Übung haben wir ein Programm, welches das Passwort-File mit Zeilennummerierung ausgibt. Ändere dieses Programm, sodass die Zeilennummern bei Leerzeilen nicht mitgerechnet und ausgegeben werden, jedoch die Zeile selber immer ausgegeben wird. Beachte, dass beim Einlesen einer Datei, jede Zeile am Ende ein newline-Character enthält.