if修飾子(式修飾子)の使い方

if 修飾子は if 文と同じく条件式が真になったときだけ処理を実行するものですが、実行できる処理は 1 つだけとなります。その代わり if 文より簡潔に記述することができます。ここでは Perl で if 修飾子の使い方について解説します。

(Last modified: )

if修飾子の使い方

if 文を使って条件式が真になったときだけ処理を行うことができますが、 1 つの処理だけを実行させる場合には if 文の代わりに if 修飾子を使用することができます。

if 修飾子の書式は次のようになります。

真の時に実行する処理 if 条件式;

if 修飾子が記述されている場合、まず条件式を評価し真(true)だった場合には処理を実行します。

少々分かりにくいので具体的な例で考えていきます。例えば変数 $count から 1 を減算する処理を行うとします。

$count = $count - 1;

この処理を $count に格納されている値が 1 以上の場合だけにしてみます。 if 文を使えば次のように記述できます。

if ($count >= 1){
	$count = $count - 1;
}

これを if 修飾子を使って記述すると次のようになります。

$count = $count - 1 if $count >= 1;

if 修飾子は if 文を使っても記述できますが、 1 つの処理だけを行う場合には便利な記述方法です。また逆に if 修飾子では条件式が真の時に実行できる処理は 1 つだけです。

if 修飾子だけではなく unless 修飾子が使用できます。また繰り返し処理用としては while 修飾子や foreach 修飾子などもあります。これらを式修飾子と呼びます。繰り返し処理で使用する式修飾子は「繰り返し処理」で解説します。

サンプルコード

それでは簡単なサンプルを作成します。

use strict;
use warnings;
use utf8;
binmode STDIN, ':encoding(cp932)';
binmode STDOUT, ':encoding(cp932)';
binmode STDERR, ':encoding(cp932)';

my $num;

$num = -4;
print "$num => ";
$num = $num * -1 if $num < 0;
print "$num\n";

$num = 7;
print "$num => ";
$num = $num * -1 if $num < 0;
print "$num\n";

テキストエディタでプログラムを記述したあと sample.pl という名前で保存します。(文字コードは UTF-8 です)。コマンドプロンプトを起動し、プログラムを保存したディレクトリへ移動したあとで次のように実行します。

perl sample.pl

次のように実行結果が表示されます。

if修飾子(式修飾子)の使い方(1)

対象の変数が負の値だった場合、 -1 を乗算して正の数に変換しました。

-- --

Perl で if 修飾子の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。