تسمح لغة Perl باستخدام حلقة داخل حلقة أخرى، وإليك بعض الأمثلة لتوضيح هذا المفهوم.
بناء جملة عبارات الحلقة المتداخلة:
ل ( الحالة الأولية ؛ ) { ل ( الحالة الأولية ؛ ) { بيان ( ق ) ; بيان ( ق ) ;بناء جملة بيان الحلقة المتداخلة:
بينما ( الشرط ) { بينما ( الشرط ) { بيان ( ق ) ; بيان ( ق ) ;بناء جملة do... while عبارات الحلقة المتداخلة:
يفعل { بيان ( ق ) ؛ بيان ( ق ) } بينما ( حالة ) ؛ } بينما ( حالة ) ;بناء جملة عبارات الحلقة المتداخلة:
حتى ( الشرط ) { حتى ( الشرط ) { بيان ( ق ) ; بيان ( ق ) ;بناء جملة بيان حلقة foreach المتداخلة:
com.foreach $أ ( @listA ) { com.foreach $ب ( @listB ) { بيان ( ق ) ; بيان ( ق ) ;بتنفيذ البرنامج أعلاه تكون نتيجة الإخراج هي:
أ = 0، ب = 0أ = 0، ب = 1أ = 0، ب = 2أ = 1أ = 1، ب = 0أ = 1، ب = 1أ = 1، ب = 2أ = 2أ = 2، ب = 0أ = 2، ب = 1أ = 2، ب = 2أ = 3