I've asked a lot of questions lately so I thought I'd share my perl subroutine for asking a question during a FAI install. It validates the answer versus a list of valid answers and it times out after 30 seconds taking the default as the answer. It takes 3 parms:
1. The question.
2. A pointer  to an associative array listing valid choices.
3. Default answer. So you might call it like this:

my $answer = &askQuestion ('Language?', {G => 'German', E => 'English'}, 'E');


sub askQuestion
{
my $question = shift;
my $choices = shift;
my $default = shift;
my $answer = '';
 if ( open CONSOLE, "</dev/console")
 {
 while (not defined ($choices->{$answer}))
  {
  eval
   {
local $SIG{ALRM} = sub { die "alarm clock restart" };
alarm 30;
printf STDERR "$question\n" . join (", ", map ($_ . "=" . $choices->{$_}, keys %$choices)) . "[$default] ";
$answer = <CONSOLE>;
chomp($answer);
alarm 0;
};
  $answer = $default unless ($answer);
  } # elihw
 close (CONSOLE);
 } # fi
return $answer;
} # bus AskQuestion



Antwort per Email an