![]() |
|||
| | HOME | ご利用について | 推奨環境 | リンクに関して | 免責/規約 | お問合せ | ミスティーネット | リンク集 | | |||
|
HOME >> 処理の制御1
■ もし〜ならば (条件により処理を分岐する)
「もしAの条件ならBの処理を行なう」 というように、条件によって処理内容を選択したい場合には、「if」 文を使います。 「if」 文はPerl の中心的な条件文ですのでこれからたくさん使うことになると思います。 しっかりマスターしてください。 「if」 文の書式には下記の3つがあります。 1.if (条件式) { 処理内容 }1では、条件が満たされている場合のみ処理を実行します。 2では、条件が満たされていない場合に、「else」 の処理を実行します。 複数の条件に対してそれぞれ処理を分けたい場合には、3のように「elsif」 を使って処理を選択します。 「elsif」 は処理の数だけ複数回使用できます。
[真偽の判定について] ■ もし〜でないなら (否定の条件分岐)
「unless」 は、「if」 とは反対の条件文です。 「もしAでないならBの処理を行なう」 というような条件処理を行なう際に使います。 「unless」 文の書式には下記の3つがあります。 1.unless (条件式) { 処理内容 }基本的には 「if」 と同じですが、条件が満たされないときのみ処理を実行します。 具体的には下記のような使い方となります。
$a = 1;
「==」 は、「等しければ」を意味します。 → 数値演算子について
unless ( $a == 3 ) { print '$a は3ではありません。'; } 【表示結果】 1 は 3ではありません。 この場合、$a の値は1ですので 「$a は3ではありません」 と表示されます。 ■ 条件文を使ってプログラムを書いてみよう!
「if」 の使い方が分かったところで、実際に「if」 を使ったプログラムを書いてみましょう。 下記がそのプログラムです。 ユーザーに0か1の数字を入力してもらい、入力された文字が「0の場合」、「1の場合」、「それ以外の場合」 で違う処理を行なうようにしています。 では、実際にプログラムを作って見ましょう。 ファイル名は「test.pl」 で 「c:\windows」 フォルダに保存してください。 [test.pl]
<STDIN>は、標準入力を表します。デフォルトはキーボードからの入力となっています。 ファイルが作成できたら、実際にプログラムを動かして見ましょう。 動作確認は DOSプロンプトを使って行ないます。 DOSプロンプトの起動は、「スタート」→「プログラム(P)」→「アクセサリ」→「MS-DOS プロンプト」 で起動できます。 起動したら、次のように入力して、「ENETR」キーを押してください。
C:\WINDOWS>perl test.pl
プログラムが起動して、下記のメッセージが表示されると思います。
0か1を入力してください::
ここで 「0」 を入力して 「ENTER」 キーを押します。すると、下記のメッセージが表示されます。
0が入力されました。
入力が 「1」 の場合は、
1が入力されました。
その他の入力の場合は、
無効な値が入力されました。
と表示されます。 入力された値によって、きちんと処理が分けられていることが分かります。 また、気づいた方もいると思いますが、何も入力せずに 「ENTER」キーのみ押した場合には 下記の表示となります。
0が入力されました。
Perl で空の値が入力された場合には、数値として判定した時に「0」 の値として扱われます。 そのため、0が入力された時のメッセージが表示されます。 ■ 条件演算子を使った条件分岐
簡単な処理の分岐の場合には、条件演算子を使うことが出来ます。 if 文を使うと3・4行になるプログラムソースを1行で完結することが出来ます。 [書式] 式 ? A : B
$price = 900;
ここでは、変数 $price の値によって表示するメッセージを変えています。print $price >= 1000 ? "値段が高すぎます" : "適正な価格です"; 変数 $price の値が1000以上の場合 「値段が高すぎます」 と表示。 1000未満の場合は 「適正な価格です」 と表示されます。 この場合、変数 $price の値は900ですので 「適正な価格です」 と表示されます。
|
||||||||||||||||||||||||||||||||||||||||||