Perl Tutorial Perl References

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