条件判断

if と else

条件判断は

if (何々) {
    「何々」が成り立ったときに実行する命令
} else {
    「何々」が成り立たなかったときに実行する命令
}

のようにします。 下の例で「何々」にあたるものは $sec % 2 == 0 つまり「$sec を 2 で割った余りが 0 に等しい」です。

いま何時?の例に次のように付け加えてみましょう。

if ($sec % 2 == 0) {
  print "<p>はろー\n";
} else {
  print "<p>こんにちは\n";
}

これで,秒が偶数なら「はろー」, 奇数なら「こんにちは」と画面に出ます。

絵にしてみましょう。

if ($sec % 2 == 0) {
  print "<p><img src=\"pic1.jpg\">\n";
} else {
  print "<p><img src=\"pic2.jpg\">\n";
}

このように," の中にさらに " を入れるには,内側の "\" と書きます。

elsif

さらに条件が増えれば次のように書きます。

if (何々1) {
    「何々1」が成り立ったときに実行する命令
} elsif (何々2) {
    「何々1」が成り立たず「何々2」が成り立ったときに実行する命令
} else {
    「何々1」も「何々2」も成り立たなかったときに実行する命令
}

次は時刻によってことばを変える例です。

if ($hour > 5 && $hour < 10) {
  print "<p>おはようございます\n";
} elsif ($hour < 15) {
  print "<p>こんにちは\n";
} else {
  print "<p>こんばんは\n";
}

&& は「かつ」という意味, || は「または」という意味です。

課題

CGI を使って,時刻によって絵やメッセージが変わるページを作ってください。


奥村晴彦

Last modified: 2004-12-24 12:51:54