while ($x > 0) {print $x--,"\n";} # Lykkjan er endurtekin meðan skilyrðið er satt
until ($x < 0) {print $x--,"\n";} # Lykkjan er endurtekin meðan skilyrðið er ósatt
do {print $x--,"\n";} while $x > 0;
do {print $x--,"\n";} until $x < 0;
Takið eftir því að bæði slaufusvigi og semikomma eru nauðsynleg þótt aðeins ein setning sé í blokkinni sem lykkjan framkvæmir. Hér eru svo þrjár
for ($x=5; $x > 0; $x--){print "$x\n";}
@x = ('5', '4', '3', '2', '1');
foreach $z (@x) {print $z,"\n";}
foreach (@x) {print $_,"\n";}
Athugið að breytan í þriðju lykkjunni, $_, vísar til síðasta gildis sem tekið var til meðferðar. Perl er með talsverðan fjölda af svona kerfisbreytum sem gera málið heldur ólæsilegt fyrir byrjendur, en eru að sama skapi vinsælar hjá lengra komnum.
Til þess að hætta í lykkjum áður en þær ljúka sér af er boðið uppá ýmsa möguleika. Þeir eru kynntir með þeim fyrirvara að notun þeirra á að binda við undartekningar í framvindu forrits.