А система у Вас какая? насколько я помню под Windows alarm неработает/криво работает.
Там проблема с блокирующим вызовом STDIN. Я в свое время, когда у меня вставала проблема с этим решил ее установкой модуля Term::Getch. Ставиться из ppm без проблем.
Как-то так 
| Код | use Term::Getch; my $start_time = time;
while(time-$start_time < 10) { my $c = getch(); print "Input: $c\r"; } print "Error :) You so slow" ;
|
Мысли буржуинов на эту тему
| Код | I got this to work great on UNIX, but not on Windows. It seems that alarm() works on Windows (perl 5.8+)... but not for all scenarios. For example, this works:
|
| Код | eval { local $SIG{ALRM} = sub { die "alarm\n" }; alarm 5; sleep 100; }; alarm 0;
|
| Код |
eval { local $SIG{ALRM} = sub { die "alarm\n" }; alarm 5; print "Remark: "; chomp($remark = <STDIN>); }; alarm 0;
|
| Код | I wonder if it has something to do with waiting for <STDIN>?
Like I said, both scenarios above work on UNIX, but only the first works on Windows.
|
|