初めてのPerl、とりあえず最後まで読めました。あとは練習問題は解いて行こう。平行してCPAN遊びもしたいところ。
1. 数あてゲームを作る
10章は練習問題はこれだけです。Cで言うcontinueがnext、breakがlastね。
use strict; my $seacret = int (1 + rand 100); while (1) { print "Enter your answer: "; chomp(my $ans = <STDIN>); if ($ans eq "exit" or $ans eq "quit" or $ans eq "") { print "End...\n"; last; } elsif ($ans == $seacret) { print "Yeah! You got it!\n"; last; } elsif ($ans > $seacret) { print "Too high\n"; } elsif ($ans < $seacret) { print "Too low\n"; } else { next; } }
exitやquitを判定する条件式は一番始めにもってきます。でないと、quitみたいな文字列が入力されたときに、文字列と数値の比較が行われてしまってうまく動かない。この条件式は、正規表現を書いた方がよりPerl的だったなー。
/exit|quit|^\s*$/i
解答ではこんなノリの正規表現を使用していました。

- 作者: ランダル・L.シュワルツ,トムフェニックス,Randal L. Schwartz,Tom Phoenix,近藤嘉雪
- 出版社/メーカー: オライリージャパン
- 発売日: 2003/05
- メディア: 単行本
- 購入: 15人 クリック: 474回
- この商品を含むブログ (294件) を見る