Perl for文とlastとnextのサンプル

Perlのfor文のサンプルとfor文でlastとnextを使用するサンプルです。

目次

for文

for(初期化式  ; 条件式  ;  増減式){
  繰り返される箇所
}
  • 初期化式は、最初に1回だけ実行されます。
  • 初期化式にあるループで使用する変数をカウンター変数またはループ変数といいます。
  • 条件式がtrueの間、処理を繰り返します。
  • 増減式でカウンター変数/ループ変数の値が変わります。

コード

for文のサンプルです。
6行目のカウンター変数の$iは0から始まり、増減式($i++)により1ずつ増えていきます。
$i <3がtrueの間、処理を繰り返します。0,1,2が出力されます。

#! /usr/bin/perl

use strict;
use warnings;

for (my $i = 0; $i < 3; $i++) {

	print $i; # 0 1 2

}

 

last文のサンプル

  • for文でlastを使用するとループ処理から抜けます。(そのブロックから抜けます)
  • 「{」(波括弧) から「}」までをブロックといいます。

コード

for文でlastを使用するサンプルです。
10行目のlastでfor文を抜けます。i=0のみ出力されます。

#! /usr/bin/perl

use strict;
use warnings;

for (my $i = 0; $i < 3; $i++) {

	if ($i == 1){
	
		last;
		
	}
	print "i=".$i; # 出力結果 i=0
}

 

for文が入れ子のときのlast文のサンプル

for文が入れ子のときのlastのサンプルです。
6,8行目にfor文があり入れ子になっています。
12行目のlastは、内側のfor文のみ抜けます。

#! /usr/bin/perl

use strict;
use warnings;

for (my $i = 0; $i < 2; $i++) {

	for (my $j = 0; $j < 2; $j++) {

		if ($j == 0){
		
			last;
			
		}
		print "j=".$j; # 出力なし
	}
	print "i=".$i; # i=0 i=1
}

 

next文のサンプル

  • for文でnextを使用すると、ループ処理の先頭に戻ります。(ブロックの先頭位置に戻ります)
  • 「{」(波括弧) から「}」までをブロックといいます。

コード

for文でnextを使用するサンプルです。
10行目のnextでループ処理の先頭に戻ります。i=0とi=2が出力されます。

#! /usr/bin/perl

use strict;
use warnings;

for (my $i = 0; $i < 3; $i++) {

	if ($i == 1){
	
		next;
		
	}
	print "i=".$i; # 出力結果 出力結果 i=0 i=2
}

 

for文が入れ子のときのnext文のサンプル

for文が入れ子のときのnextのサンプルです。
6,8行目にfor文があり入れ子になっています。
12行目のnextは、内側のfor文の先頭の8行目に戻ります

#! /usr/bin/perl

use strict;
use warnings;

for (my $i = 0; $i < 2; $i++) {

	for (my $j = 0; $j < 2; $j++) {

		if ($j == 0){
		
			next;
			
		}
		print "j=".$j; # j=1 j=1
	}
	print "i=".$i; # i=0 i=1
}

関連の記事

Perl if文のサンプル
Perl while文とdo…while文のサンプル



△上に戻る