ein Kapitel zurück                                           ein Kapitel weiter

Manches mal wird es nicht ausreichen eine Schleife zu beenden wenn die Schleifenbedienung nicht mehr Erfüllt wird. Dafür gibt es Abbruchbefehle.

redo
Die Schleifenabbruchbedienung redo, wobei es eher eine Erneut-in-die-Schleife-springen Befehl ist, kann man in C/C++ mit continue vergleichen. Bei Ausführung von redo in der Schleife, wird wieder an den Anfang der Schleife zurückgesprungen............


#!/usr/bin/perl -w

$wert=1;

while(1)
 {
   print "Bitte geben sie eine Zahl ein : ";
   chomp($wert=<STDIN>);

   if($wert < 10)
     {
       print "Bitte eine Zahl grösser als 10 eingeben!!!\n";
       redo;                     #wieder zu while hochspringen
     }
   print "Korrekte Eingabe\n";
   last;
 }


Mit while(1) haben wir hier eine Endlosschleife erschaffen. Das Bedeutet eine Schleife die sich immer wieder wiederholt oder Abgebrochen wird. In unserem Beispiel wird die Schleife mit last abgebrochen. Wenn sie eine Zahl eingegeben haben die kleiner als 10 war wird der Anweisungsblock der if-Anweisung ausgeführt. redo veranlasst das wir wieder zum Anfang der Schleife springen. Haben wir einen Korrekte Zahl eingeben wir unsere Schleife mit last abgebrochen. Das heißt das Programm wird nach dem  Anweisungsblock der Schleife weitergeführt. In unserem Fall wird das Programm beendet.

Eine weiter Möglichkeit in einer Schleife einzugreifen stellt das Schlüsselwort next da.
Genau heißt das das mit Hilfe der next-Anweisung ein Schleifendurchlauf übersprungen werden kann und der nächste wird gleich Ausgeführt. Hierzu ein einfaches Beispiel.....


#!/usr/bin/perl -w

for($wert=1; $wert<=20; $wert++)
 {
   if($wert % 2)
     {
       next;        #Die Zahl ist ungerade und interessiert uns nicht
     }
   print $wert . "\n";
 }


In diesem Beispiel geben wir alle Geraden Zahlen auf dem Bildschirm aus. Bei einer  Ungeraden Zahl überspringen wir die nächste Anweisung und setzen mit dem nächsten  Schleifendurchlauf fort.

ein Kapitel zurück          nach oben           ein Kapitel weiter


© 2001,2002 Jürgen Wolf