Perlのif文について使い方をまとめました。
if文の使い方
if文
//if文の構文
if(<条件式>){
<文>
}
if文は最も基本的な条件式です。ifは日本語訳で「もしも」という意味です。
if文の構文である、if( <条件式> )<文> もしも<条件式> に合致する(true)ならば<文> を実行します。
例えば、変数a=1とし、<条件式>をa == 1とすると、a=1のため、条件文として当てはまります。
my $a = 1;
if ($a == '1') {
print 'aは1です';
}
// 実行結果
a は 1 です
if (a == 1)を日本語訳すると「もしも a が 1ならば~する」です。
日本語訳で考えると、理解しやすくて良いですね。
if-else文
//if-else文の構文
if(<条件式>){
<文>
} elsif(<条件式>){
<文>
} else {
<文>
}
if文では<条件式>が合致する(true)場合に文を実行します。合致しない場合は、else文で合致しない(false)場合に文を実行することができます。
elseは日本語訳で「それ以外」という意味です。
以下の例文に例えると分かりやすいです。
my $a = 3;
if ($a == '1') {
print 'aは1です';
} elsif ($a == '2'){
print 'aは2です';
} else {
print '1,2 以外です';
}
// 実行結果
a は 2 です
// 実行結果(a = 3)とした場合
a は 1,2 以外です
日本語訳で考えながら読んでいくと、分かりやすくなります。
「もしも a が 1ならば~する。⇒ if (a == 1)
それ以外でもしも a が 2ならば~する。⇒ elsif (a == 2)
それ以外ならば~する。⇒ else」
elseは「それ以外」の語訳のとおり、条件式に合致した場合、後続の処理には進みません。
if文で否定
// ifで否定する場合の構文
// 数値の変数の場合
if(a != b){
<文>
}
// 真偽値の変数の場合
if(!<条件式>){
<文>
}
if文で否定(条件を反転)する場合は「!」を使用します。
ビックリマークが馴染み深いですが、正式名称は「エクスクラメーションマーク(英語:exclamation mark)」といいます。
Perlだけではなく、JavaやC言語をはじめとするいくつかのプログラミング言語では、否定を意味するようです。これは使い慣れて覚えていくしかなさそうです。
//「!=」:右辺と左辺を比較(数値を比較)
my $a = 1;
if ($a != '2') {
print 'a は 2 以外です';
}
// 実行結果
a は 2 以外です
上記では「!=」で左辺が右辺と等しくないことを指します。数値などが有効です。
//「!」:判定結果を反転
my $a = 'abc';
if (!($a eq 'abd')) {
print 'abd以外です';
}
// 実行結果
abd以外です
真偽値の変数の前に「!」をつけると、処理が反転することが分かります。
以上・以下・より大きい・より小さい
// ifで以上・以下・より大きい・より小さいを比較するための構文
// 以上:aはb以上
if(a >= b){
<文>
}
// 以上:aはb以下
if(a <= b){
<文>
}
// より大きい
if(a > b){
<文>
}
// より小さい
if(a < b){
<文>
}
「以上・以下・より大きい・より小さい」などの比較して条件を判定したりします。数値の比較で利用されるため、int型等の変数の比較で使用されます。
「以上・以下・より大きい・より小さい」など比較するための演算子を「比較演算子」と言います。比較演算子は以下の表にまとめました。
| 記述方法 | 意味 | |
|---|---|---|
| 不等号 | A < B | AはBより小さい |
| A > B | AはBより大きい | |
| A <= B | AはB以下 | |
| A >= B | AはB以上 | |
| 等号 | A == B | AはBと等しい |
| A != B | AはBと等しくない |







コメントを残す