Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid

Re: Help with Guessing Game

by BillKSmith (Deacon)
on May 12, 2013 at 03:47 UTC ( #1033166=note: print w/ replies, xml ) Need Help??

in reply to Help with Guessing Game

Your program has another serious bug. After it reports a win, it does not start a new game, but rather continues to prompt you to "Guess Again". Use strict and use warnings would find and report the error. (You have two variables named $guess) Of course this message tends to get lost in a sea of less serious error messages. Always use strict and warnings and fix all the errors that they report.

I have several comments on your style.

Most people (except perhaps old FORTRAN programers) find perl's do...while to be a bit quirky. Use them only when the offer a real advantage.

Do not append a newline to $rannumber. Better to chomp the newline from $guess.

You should separate code for validating input from real game code. Best to use a prompt modulue with a call back routine for validation.

UPDATE: Corrected typos


Comment on Re: Help with Guessing Game
Re^2: Help with Guessing Game
by davido (Archbishop) on May 12, 2013 at 04:28 UTC

    Best to use a prompt module with call back for validation.

    Sounds to me like IO::Prompt::Hooked (shameless plug).


      Actually, I use ActiveState::Prompt. I will checkout your suggestion.

      You also made a great suggestion for keeping track of previous guesses.


Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1033166]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (12)
As of 2015-03-30 13:03 GMT
Find Nodes?
    Voting Booth?

    When putting a smiley right before a closing parenthesis, do you:

    Results (644 votes), past polls