El lenguaje Perl permite el uso de un bucle dentro de otro bucle. A continuación se muestran algunos ejemplos para ilustrar este concepto.
Sintaxis para declaraciones de bucle for anidadas:
para ( inicio ; condición ; incremento ) { para ( inicio ; condición ; incremento ) { declaraciones ) ; } declaraciones ) ; }Sintaxis de la instrucción de bucle while anidada:
mientras ( condición ) { mientras ( condición ) { declaraciones ) ; } declaraciones ) ; }Sintaxis de sentencias de bucle do... while anidadas:
hacer { declaración ( es ) ; hacer { declaración ( es ) ; } mientras ( condición ) ; } mientras ( condición ) ;Sintaxis para sentencias de bucle anidadas:
hasta ( condición ) { hasta ( condición ) { declaraciones ) ; } declaraciones ) ; }Sintaxis de la declaración de bucle foreach anidada:
para cada uno $a ( @listaA ) { para cada uno $b ( @listaB ) { declaraciones ) ; } declaraciones ) ; }Al ejecutar el programa anterior, el resultado de salida es:
a = 0, b = 0a = 0, b = 1a = 0, b = 2a = 1a = 1, b = 0a = 1, b = 1a = 1, b = 2a = 2a = 2, b = 0a = 2, segundo = 1a = 2, segundo = 2a = 3