本サイトはプロモーション(広告)が含まれています。

【Perl】if文の使い方について

 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と等しくない

Perl の記事一覧へ

PAGE TOP