timeout a user input in perl timeout a user input in perl unix unix

timeout a user input in perl


# disable output buffering$| = 1;my $answer;eval {        my $count = 10;        local $SIG{ALRM} = sub {          # print counter and set alaram again          if (--$count) { print "$count\n"; alarm 1 }           # no more waiting          else { die "timeout getting the input \n" }        };        # alarm every second        alarm 1;        $answer = <STDIN>;        alarm 0;        chomp $answer;};if ($@) {        #die $@ if $@ ne "timeout getting the input\n";        $answer = 'A';}