diff --git a/misc/Install.pm b/misc/Install.pm index 4fa90f6b28..055800c3ed 100644 --- a/misc/Install.pm +++ b/misc/Install.pm @@ -510,11 +510,18 @@ sub showmessage { $response=; chomp $response; (length($response)) || ($response=$defaultresponse); - unless ($options=~/$response/) { - ($noclear) || (system('clear')); - print "Invalid Response. Choose from [$options].\n\n"; - print $message; - } + if ( $response=~/.*[\:\(\)\^\$\*\!\\].*/ ) { + ($noclear) || (system('clear')); + print "Response contains invalid characters. Choose from [$options].\n\n"; + print $message; + $response='\0'; + } else { + unless ($options=~/$response/) { + ($noclear) || (system('clear')); + print "Invalid Response. Choose from [$options].\n\n"; + print $message; + } + } } return $response; } elsif ($responsetype =~/^free$/i) {