Instrukcja foreach
Jest to ostatnia z głównych instrukcji iteracyjnych stosowanych w Perlu. Pozwala ona na wykonywanie tego samego bloku kodu dla każdego skalara z danego zbioru np. tablicy.
foreach zmienna (lista)
Wartość zmiennej jest lokalna dla pętli ale odzyskuje swoją faktyczną wartość po zakończeniu wykonywania pętli. Pole zmienna może zostać pominięte, wtedy w użyciu znajdzie się znana już zmienna domyślna $_. Jeśli pole lista jest tablicą to jest możliwe modyfikowanie każdego jej elementu przez modyfikację zmiennej wewnątrz pętli. Pętla foreach podobnie jak while może lecz nie musi kończyć się blokiem continue.
Operatory next i last
Czasem konieczne jest zakończenie lub wyjście z pętli podczas jej wykonywania.
Polecenie last działa tak samo jak instrukcja break w języku C. Powoduje ono natychmiastowe przerwanie i zakończenie przetwarzania w danej pętli. Blok oznaczony jako continue, jeśli w ogóle występuje, nie jest wykonywany. Działa to niejako w taki sam sposób jakby sprawdzenie warunku w pętli dało wartość fałsz.
Komenda next działa jak polecenie continue w języku C. Użycie jej spowoduje opuszczenie wykonywania operacji w pętli aż do końca bieżącej iteracji i przejście do następnej. Jeśli istnieje blok oznaczony jako continue to jego wykonanie następuje tuż przed kolejnym sprawdzeniem warunku, tak samo zresztą jak w normalnej pętli. Dzięki temu blok ten może być użyty np. do inkrementacji bądź dekrementacji zmiennej mimo, iż wykonywanie wcześniejszego bloku poleceń zostało pominięte przez zastosowanie next.
Jedną z używanych komend w stosunku do pętli jest polecenie redo. Użycie go spowoduje ponowne przetworzenie bloku instrukcji pętli bez ponownego sprawdzenia warunku. Blok continue nie jest w ogóle wykonywany.
Instrukcja goto
W Perlu podobnie jak w większości innych języków programowania występuje instrukcja goto, pomimo tego że można ją w każdym przypadku z powodzeniem zastąpić stosując pętlę. Jej podstawowa składnia wygląda następująca:
blok operacji; etykieta: blok operacji; goto etykieta;
Trzeba zauważyć że po zadeklarowaniu pewnego bloku operacji, pod nazwą etykieta, na końcu używamy dwukropka a nie średnika.
W Perlu występują aż trzy formy komendy goto: goto etykieta, goto wyrażenie i goto &nazwa.
-20-