Perl - Next Statement
The next statement in Perl let the program skip a block of codes for current iteration in a loop. Whenever next statement condition is fulfilled, it brings the program to the start of loop.
When the next statement is used in a nested loop (loop inside loop), it will skip innermost loop's code block, whenever condition is fulfilled.
Next statement with While loop
In the example below, the next statement is used to skip the while loop if the value of variable j becomes 4.
$j = 0; while ($j < 6){ $j++; if($j == 4){ print("this iteration is skipped.\n"); next; } print("$j \n"); }
The output of the above code will be:
1 2 3 this iteration is skipped. 5 6
Next statement with For loop
In the example below, the next statement is used to skip the for loop if the value of variable i becomes 4.
for ($i = 1; $i <= 6; $i++){ if($i == 4) { print("this iteration is skipped.\n"); next; } print("$i \n"); }
The output of the above code will be:
1 2 3 this iteration is skipped. 5 6
Next statement with Nested loop
The Next statement skip the inner loop's block of codes whenever condition is fulfilled. In below mentioned example, program skips the inner loop only when j = 100.
#Nested loop without next statement print("# Nested loop without next statement\n"); for ($i = 1; $i <= 3; $i++){ for ($j = 10; $j <= 1000; $j = $j * 10) { print( $i*$j ,"\n"); } }
The output of the above code will be:
# Nested loop without next statement 10 100 1000 20 200 2000 30 300 3000
#Nested loop with next statement print("# Nested loop with next statement\n"); for ($i = 1; $i <= 3; $i++){ for ($j = 10; $j <= 1000; $j = $j * 10) { if($j == 100){ next; } print( $i*$j ,"\n"); } }
The output of the above code will be:
# Nested loop with next statement 10 1000 20 2000 30 3000