初めてのPerl 第10章
練習問題の回答をメモ。
ex10-1
#!/usr/bin/perl use strict; my $answer = int(1 + rand 100); #print "The answer is <<$answer>>.\n"; while (1) { print "Choose a number between 1 to 100: "; chomp(my $try = <STDIN>); if ($try =~ /quit|exit|^\s*$/i) { last; } elsif ($try == $answer) { print "Bingo!\n"; last; } elsif ($try < $answer) { print "Too low\n"; redo; } else { print "Too high\n"; redo; } }
この場合、redo は意味無かったな…。
反省点
quit か exit、または空白行で終了するという条件を忘れていた。きちんと条件に漏れが無いか確認してから解答を見よう。