in reply to Silly While Loop Problems
For a simple exchange, I don't see the value in rewording the question following an invalid response. I just do this:
do { print "Question (Y/N)? "; chomp($_ = <>); } until /^[YN]$/i; [download]