De foreach-lus is een besturingsstructuur die op maat is gemaakt om Perl-lijsten en hashes te verwerken. Net als de for-lus, doorloopt elk element van een array met behulp van een iterator.
In plaats van een scaler als iterator te gebruiken, gebruikt foreach de array zelf. Bijvoorbeeld:
Je ziet dat dit dezelfde uitvoer geeft als het volledig afdrukken van de array @myNames:
Als u alleen de inhoud van de lijst wilt verwijderen, kunt u deze gewoon afdrukken. Gebruik in dat geval de foreach-lus om de uitvoer een beetje leesbaarder te maken.
U zult zien dat deze code schonere uitvoer oplevert door na elk item in de lijst een nieuwe regel af te drukken.
In het vorige voorbeeld werd $ _ gebruikt om elk element van de lijst af te drukken.
Het gebruik van deze standaard impliciete scalar ($ _) zorgt voor kortere code en minder typen, maar het is niet altijd de beste oplossing. Als je op zoek bent naar een zeer leesbare code of als je foreach-lus complex is, is het misschien beter om een scalair toe te wijzen als iterator.
Er zijn slechts twee verschillen: de scalaire $ -naam tussen de foreach en de lijst en de vervanging van de standaardscalaire in de lus. De uitvoer is exact hetzelfde, maar de code is iets schoner. Onthoud: