Bucles anidados en Perl
Perl permite usar un bucle dentro de otro bucle. A continuación se muestran varios ejemplos para ilustrar este concepto.
Sintaxis
Sintaxis de la sentencia de bucle for anidado:
for ( init; condition; increment ){
for ( init; condition; increment ){
statement(s);
}
statement(s);
}
Sintaxis de la sentencia de bucle while anidado:
while(condition){
while(condition){
statement(s);
}
statement(s);
}
Sintaxis de la sentencia de bucle do...while anidado:
do{
statement(s);
do{
statement(s);
}while( condition );
}while( condition );
Sintaxis de la sentencia de bucle until anidado:
until(condition){
until(condition){
statement(s);
}
statement(s);
}
Sintaxis de la sentencia de bucle foreach anidado:
foreach $a (@listA){
foreach $b (@listB){
statement(s);
}
statement(s);
}
Ejemplo
#!/usr/bin/perl
$a = 0;
$b = 0;
# Bucle externo
while($a < 3){
$b = 0;
# Bucle interno
while( $b < 3 ){
print "a = $a, b = $b\n";
$b = $b + 1;
}
$a = $a + 1;
print "a = $a\n\n";
}
Al ejecutar el programa anterior, el resultado de salida es:
a = 0, b = 0 a = 0, b = 1 a = 0, b = 2 a = 1 a = 1, b = 0 a = 1, b = 1 a = 1, b = 2 a = 2 a = 2, b = 0 a = 2, b = 1 a = 2, b = 2 a = 3Otras extensiones
Bucles en Perl