Readonly my %VALID_CHAR => ( y => 1, Y => 1, n => 1, N => 1 ); sub continue_yn { print "Do you wish to continue the installation (Y/N) : "; $yn=; chomp $yn; LOOP: while ( 1 ) { last LOOP if $VALID_CHAR{$yn}; print "Invalid option, please enter an Y or N : "; $yn=; chomp $yn; } print "Valid option entered"; }