|
  
Sie
möchten Code so oft ausführen lassen bis eine Bedingung
erfüllt ist? Dann nutzen Sie die while Schleife.
Unterkapitelindex
8.1 Was sind Schleifen?
8.2 Allgemeines zu Schleifen
8.3 Until Anweisung
8.4 Beispiel
|
|
|
8.1
Was sind Schleifen?
Eine Schleife besteht aus 2 Teilen:
1) Bedingung
2) Code
Solange die Bedingung wahr ist, wird der Code ausgeführt.
Wird die Bedingung unwahr, so arbeitet der Interpreter das restliche
Skript ab.
|
|
8.2
Allgemeines zu Schleifen
Eine einfache Schleife:
|
01
02
03
04
05
06
07
|
my $a = 0;
my $b = 10;
while ($a <= $b){
$a = $a + 1;
print "$a. Durchgang";
}
|
Die Ausgabe dieser Schleife ist foglende:
|
01
02
03
04
05
06
07
08
09
10
|
1. Durchgang
2. Durchgang
3. Durchgang
4. Durchgang
5. Durchgang
6. Durchgang
7. Durchgang
8. Durchgang
9. Durchgang
10. Durchgang
|
Der Code in den geschweiften
Klammern wird also so lange ausgeführt bis die Bedingung in
den Klammern erfüllt ist (im Beispiel 10 Mal). Die Operatoren
können genau wie bei den IF Bedingungen (s. Kapitel 7) genutzt
werden:
Zum Vergleichen von Zahlen gibt es folgende Operatoren:
|
==
!=
<
>
<=
>=
|
Beide Zahlen müssen gleich sein
Beide Zahlen müssen ungleich sein
Zahl 1 muss kleiner Zahl 2 sein
Zahl 1 muss größer Zahl 2 sein
Zahl 1 muss kleiner oder gleich Zahl 2 sein
Zahl 1 muss größer oder gleich Zahl 2 sein
|
Zum Vergleichen von Strings
gibt es folgende Operatoren:
|
eq
ne
|
Text 1 muss gleich Text 2 sein
Text 1 muss ungleich Text 2 sein
|
|
|
8.3
Until Anweisung
Die Unless Anweisung ist eine Negative While Anweisung - Der Code
in den geschweiften Klammern wird also so lange ausgeführt
wie die Bedingung in den runden Klammern nicht erfüllt
ist. Also kann
|
01
02
03
04
|
while ($a != $b){
$a = $a + 1;
print "$a. Durchgang";
}
|
als
|
01
02
03
04
|
until ($a == $b){
$a = $a + 1;
print "$a. Durchgang";
}
|
geschrieben werden.
|
|
8.4
Beispiel
Ein einfaches Beispiel für eine While Anweisung finden Sie
in 8.1.
 
|