I recommend that you use a module to prompt. Under ActiveState, use ActiveState::Prompt. It has a function called 'yes' whic does what you want. On other platforms, use IO::Prompt::Hooked. The documentation uses your case as an example of prompt with validation.