Open Source Web Development Tutorials - Dev Shed
Perl入門:条件文
(2009/02/25公開)
Perlの条件文
Perlは、まったく、ものぐさ、暇人、(オーケー、心から哀悼を表して言うが)クリエーティブな人のプログラミング言語だけど、わがままな女王様でもある。でもコンピュータープログラマーとして謁見(えっけん)に臨もう。女王様に拝謁(はいえつ)できるなんてついてるぞ。面を上げよ。Perlは惜しげもなく愛を与えてくれるわけではない。それには条件がある、つまり、もっと正確に言えば条件文が必要だ。それが、この連載第4回のトピックだ。
最初のところで、構文と、「My cat is named Darth Fluffymittens」と出力する方法を学んでいたとき、確かにPerlは簡単ですばらしく、何も問題はなかった。でも、条件文についての部分に入ると...たちまちアウト!蜜月は終わりだ。
きっと筆者は条件文に関する記事を書き過ぎたのだろう。プログラミング言語が存在すれば、その言語での条件文の書き方をきっと誰かに教えているに違いないのだから。筆者は飽きたのかもしれない。Perlの条件文は、筆者は認めざるを得ないが、その概念さえつかむことができれば、非常に簡単だと言えるだろう。
だから、保護手袋をして、つかんでみよう。
愛の条件文
条件文とは、質問と、その答えに応じた対応をコードで記述した文のことだ。条件文について考えるとき、請求書の支払期限を過ぎてしまったら、自分ならどうするかを考えるとよいだろう。筆者は読者の先月のカードの請求書について何でも知っているぞ。
いかにも正しそうなコード(つまり、いかさまコード)では、この問題は次のようになる。
If
I pay bill
Then lights stay on
End
上のコードはIf文の例だ。 簡単に言えば、「こうしろ、すると、こうなる」だ。この場合の正しいコードは次のようになる。
#!/usr/bin/perl
$your_money = 0;
if ($your_money < 1) #asks if your money is less than 1
{
print "You are broke!"; #if it is, print "You are broke"
}
print "Your lights might be shut off!";
上のコードでは、残高が1ドル未満かどうかを尋ねている。答えが「はい」(真)の場合は、「You are broke!(この文無しめ!)」と出力される。最後の行「Your lights might be shut off!(電気の供給停止)」は、条件文の外側に存在するため、条件に関係なく出力される。
$your_moneyの値が1より大きい場合は、「You are broke!」の行はスキップされるが、「Your lights might be shut off!」の文は出力される。
Copyright © 2008 Ziff Davis Enterprise, Inc.
Originally appearing in the U.S. Edition of Dev Shed. All Rights Reserved.








