Kontrollstrukturen II
Eine Ergänzung zu Kontrollstrukturen bzw. Schleifen, sind die Befehle last, redo und next .
last — dauer bzw. anhalten
Die Schleife wird abgebrochen, wenn eine bestimmte Bedingung erfüllt ist (kann auch ohne Bedingung stehen).
redo — nochmal machen
Die Schleife wird unendlich oft wiederholt.
Die eingebenen Zahlen werden solange zusammengerechnet, bis ihre Summe 999 übersteigt
while () {
print "Nenne eine Zahl.\n";
chomp ($zahlen = <STDIN>);
$summe += $zahlen;
last if ($summe > 999);
redo;
}
print "Die Gesamtsumme ist $summe.\n";
next — nächste
Die Schleife wird abgebrochen und weiter geht es mit der nächsten Anweisung bzw. Schleife. Dies ähnelt ein bißchen dem while-else-Konstrukt.
while () {
print "Nenne eine Zahl.\n";
chomp ($zahl =<STDIN>);
if ($zahl > 999) {
print "Das ist eine hohe Zahl.\n";
next;
}
print "Das ist nicht sehr viel.\n";
}
Die Kontrollstrukturen if und unless können auch viel kürzer ausgedrückt werden:
Anstatt:
if ($zahl > 999) {
print "Das ist eine hohe Zahl.\n";
}
print "Das ist eine hohe Zahl.\n" if $zahl > 999;
oder
$zahl > 999 && print "Das ist eine hohe Zahl.\n";
Anstatt:
unless ($zahl < 999) {
print "Das ist eine hohe Zahl.\n";
}
print "Das ist eine hohe Zahl.\n" unless $zahl < 999;
oder
$zahl < 999 || print "Das ist eine hohe Zahl.\n";
Keine Kommentare »
Noch keine Kommentare.
RSS-Feed für Kommentare zu diesem Artikel. | TrackBack URI

