Есть ли альтернатива для функции будильника в Perl, которая будет использоваться в Windows?
Сигнализация не работает в Windows.
Приведенный ниже код должен прерваться, если пользовательский ввод не будет выполнен в течение N секунд.Код хорошо работает в Linux, но там висит на Windows.
CODE:
$SIG{ALRM} = \&input_timed_out;
eval {
alarm(10);
$input = <>;
alarm(0);
print $input."\n";
}
print "eval exit with: $@ \n";
if ( $@ =~ /NO USER INPUT IN TIME/ ) {
print "Timed out.\n";
$input = "quit";
}
print "Answer is $input\n";
sub input_timed_out {
die "NO USER INPUT IN TIME";
}