Schleifen

for (Startwert;Abbruchbedingung;Inkrement) { ...}

Der Schleifenblock { ... } wird so oft abgearbeitet, bis die Abbruchbedingung nicht mehr erfüllt ist.

Beispiel : for ($i = 0;$i <= 10;$i++) { print $i,"\n" }

Hinweise : Im Schleifenblock sollte die Laufvariable nicht mehr verändert werden.
Mit for (1..10) { print $i,"\n" } erfolgt die gleiche Ausgabe wie im Beispiel.
Um den Schleifenblock auch optisch im Code hervorzuheben, bietet sich das Einrücken an :

Anweisung
Anweisung
for ($i=0;$i<=100;$i+=2) {
    Anweisung
    Anweisung
    mach was mit $i
}
Anweisungen ...

while (Abbruchbedingung) { ... }

Der Schleifenblock { ... } wird solange abgearbeitet, bis die Abbruchbedingung false ergibt. Die erste Bedingungsprüfung erfolgt vor dem ersten Abarbeiten des Schleifenblockes ( Kopfschleife )

Beispiel : while ($i<=10) { print $i++,"\n" }

Hinweise : Die Laufvariable muß im Schleifenblock verändert werden, wenn die Abbruchbedingung erreicht werden will.
Wie bei der for-Schleife ist ein Einrücken des Schleifenblockes zweckmäßig.
Der Schleifenblock wird mit "}" beendet, ein folgendes ";" ist nicht nötig.

do { ... } while (Abbruchbedingung)
Die erste Bedingungsprüfung erfolgt nach einmaligem Abarbeiten des Schleifenblockes ( Fußschleife )
d.h., diese Schleife wird immer einmal durchlaufen.
Es gelten die gleichen Hinweise wie zur while-Schleife.
Minischleifen
Besteht der Schleifenblock aus genau einer Anweisung, dann kann verkürzt geschrieben werden:

Anweisung while Bedingung
Beispiel 1: print $i++ while $i <= 12;
Beispiel 2: print $line = <STDIN> while $line ne "\n";

foreach $lauf (Liste) { ... }
Die foreach-Schleife arbeitet nur auf Listen. In jedem Schleifendurchlauf wird ein Listenelement der Laufvariable zugewiesen.
Wird die Laufvariable nicht explizit angegeben, so wird die perlinterne Laufvariable $_ verwendet.