my %is_legal = map { $_ => 1 } qw( y yes n no ); my $answer; { print "What is your answer? "; chomp( $answer = <> ); $answer = lc $answer; last if $is_legal{ $answer }; redo; } # Do something with $answer, which is now guaranteed to be 'y', 'yes', 'n', or 'no'