ภาษา Perl อนุญาตให้ใช้การวนซ้ำภายในการวนซ้ำอื่น ต่อไปนี้เป็นตัวอย่างบางส่วนที่แสดงให้เห็นถึงแนวคิดนี้
ไวยากรณ์สำหรับคำสั่งแบบซ้อนสำหรับคำสั่งวนซ้ำ:
สำหรับ - เริ่ม ต้น ; เงื่อนไข ; ) { สำหรับ - เริ่ม ต้น ; เงื่อนไข ; ) { คำสั่ง ( s ) ; } คำสั่ง ( s ) ; }ไวยากรณ์ของคำสั่งลูปในขณะที่ซ้อนกัน:
ในขณะที่ ( เงื่อนไข ) { ในขณะที่ ( เงื่อนไข ) { คำสั่ง ( s ) ; } คำสั่ง ( s ) ; }ไวยากรณ์ของคำสั่งลูป do... while ที่ซ้อนกัน:
ทำ { คำสั่ง ( s ) ; ทำ { คำสั่ง ( s ) ; } ในขณะที่ ( เงื่อนไข ) ; } ในขณะที่ ( เงื่อนไข ) ;ไวยากรณ์สำหรับคำสั่งซ้อนจนถึงลูป:
จนกระทั่ง ( เงื่อนไข ) { จนกระทั่ง ( เงื่อนไข ) { คำสั่ง ( s ) ; } คำสั่ง ( s ) ; }ไวยากรณ์ของคำสั่ง foreach loop ที่ซ้อนกัน:
foreach $ก ( @listA ) { foreach $ข ( @listB ) { คำสั่ง ( s ) ; } คำสั่ง ( s ) ; }เมื่อรันโปรแกรมข้างต้น ผลลัพธ์ที่ได้คือ:
ก = 0, b = 0a = 0, b = 1a = 0, b = 2a = 1a = 1, b = 0a = 1, b = 1a = 1, b = 2a = 2a = 2, b = 0a = 2, ข = 1a = 2, ข = 2a = 3