if修飾子 - 後置のif
if修飾子を使うとifを後置することができます。
文 if 条件;
if修飾子を使ったサンプルです。正規表現を使って、先頭が「#」ならば次の行に移動という処理を行っています。
for my $line (@lines) {
next if $line =~ /^#/;
}
一行で書ける簡単な条件のときはif修飾子を使うメリットがあります。nextやlastと組み合わせて 「next if 条件」「last if 条件」などがよく利用されます。
if修飾子のメリット
通常のif文と比べてif修飾子のメリットはパフォーマンスです。if文はスコープを作るのに対して、if修飾子はスコープを作りません。そのためif修飾子の方がパフォーマンスがよいです。
unless修飾子
if修飾子と同じように後置することができるunless修飾子というものがあります。
$num1 = 1 unless defined $num1;
unless修飾子については以下で詳しく解説しています。
サンプルコード
if修飾子のサンプルです。
use strict;
use warnings;
# 後置のif
print "1-2 : 後置のifの例(next if)\n";
my @lines = (
'#コメント',
'1行目',
'2行目'
);
for my $line (@lines) {
# 先頭が、#ならば、次の行へ
next if $line =~ /^#/;
print $line, "\n";
}
print "\n";
実行結果
1行目 2行目
Perlゼミ

