導入
Perl では、1文だけの if やループをうしろに置いてすっきり書けます。これを後置修飾子といい、Perl らしさの象徴です。
説明
文 if 条件;・文 unless 条件;・文 while 条件;・文 for リスト; のように、条件やループを文のうしろに付けられます。波かっこが要らず、読みやすくなります。
use strict;
use warnings;
my $x = 7;
print "正の数\n" if $x > 0;
print "$_ " for (1..5);
print "\n";
ループの途中で抜けるには last、その回を飛ばして次へ進むには next を使います(他言語の break / continue にあたります)。
use strict;
use warnings;
for my $i (1..10) {
next if $i % 2 == 0; # 偶数は飛ばす
last if $i > 7; # 7 を超えたら終了
print $i, " "; # 1 3 5 7
}
print "\n";
やってみよう
next if や last if の条件を変えて、表示される数がどう変わるか確かめましょう。
演習
for my $i (1..20) のループで、next を使って3の倍数だけを表示してください(3 6 9 12 15 18)。
ヒント1を見る
3の倍数以外を飛ばします。next if $i % 3 != 0; のあと print "$i ";。