Loop annidato in Perl
Un ciclo può essere annidato all'interno di un altro ciclo. Perl permette di annidare tutti i tipi di loop da annidare.
Sintassi
La sintassi per a nested for loop in Perl è la seguente:
for ( init; condition; increment ) {
for ( init; condition; increment ) {
statement(s);
}
statement(s);
}
La sintassi per a nested while loop in Perl è la seguente:
while(condition) {
while(condition) {
statement(s);
}
statement(s);
}
La sintassi per a nested do...while loop in Perl è la seguente:
do{
statement(s);
do{
statement(s);
}while( condition );
}while( condition );
La sintassi per a nested until loop in Perl è la seguente:
until(condition) {
until(condition) {
statement(s);
}
statement(s);
}
La sintassi per a nested foreach loop in Perl è la seguente:
foreach $a (@listA) {
foreach $b (@listB) {
statement(s);
}
statement(s);
}
Esempio
Il seguente programma utilizza un file annidato while loop per mostrare l'utilizzo -
#/usr/local/bin/perl
$a = 0;
$b = 0;
# outer while loop
while($a < 3) {
$b = 0;
# inner while loop
while( $b < 3 ) {
print "value of a = $a, b = $b\n";
$b = $b + 1;
}
$a = $a + 1;
print "Value of a = $a\n\n";
}
Ciò produrrebbe il seguente risultato:
value of a = 0, b = 0
value of a = 0, b = 1
value of a = 0, b = 2
Value of a = 1
value of a = 1, b = 0
value of a = 1, b = 1
value of a = 1, b = 2
Value of a = 2
value of a = 2, b = 0
value of a = 2, b = 1
value of a = 2, b = 2
Value of a = 3