条件式が偽の時の処理(if... else)
「if」文は記述した条件式が真(true)の時にだけ行われる処理を記述するものでした。もう一度書式を確認しておくと次のようなものでした。
if (条件式){ 条件式が真の時に実行する処理1; 条件式が真の時に実行する処理2; }
「if」文には条件式が真(true)の時に実行する処理の他に条件式が偽(false)の時(真でなかった時)に実行する処理を別途指定することが出来ます。これには「if .. else」文を使用します。書式は次の通りです。
if (条件式){ 条件式が真の時に実行する処理1; 条件式が真の時に実行する処理2; }else{ 条件式が偽の時に実行する処理1; 条件式が偽の時に実行する処理2; }
条件式を評価し、真(true)だった場合にはすぐ次に記述された「{」から「}」までのブロック内の処理を実行し、偽(false)だった場合にはelseの後に記述された「{」から「}」までのブロック内の処理を実行します。
例えば変数に格納された値が正の数か負の数かで処理を分ける場合には次のように記述します。
my $num; $num = 5; if ($num >= 0){ print "正の数です"; }else{ print "負の数です"; }
サンプルプログラム
では簡単なプログラムで確認して見ます。
use strict; use warnings; use utf8; binmode STDIN, ':encoding(cp932)'; binmode STDOUT, ':encoding(cp932)'; binmode STDERR, ':encoding(cp932)'; my $old; $old = 18; if ($old >= 20){ print "ご利用頂けます¥n"; }else{ print "未成年の方はご利用頂けません¥n"; } $old = 34; if ($old >= 20){ print "ご利用頂けます¥n"; }else{ print "未成年の方はご利用頂けません¥n"; }
上記を「test4-1.pl」の名前で保存します(文字コードはUTF-8です)。そしてコマンドプロンプトを起動し、プログラムを保存したディレクトリに移動してから次のように実行して下さい。
今回のサンプルでは年齢を格納する変数「$old」の値に応じて処理を分けています。
( Written by Tatsuo Ikura )