$SIG{'ALRM'}=\&time_out; while(1) { eval { alarm(5); my $buf=<>; alarm(0); }; print "next\n"; } exit; sub time_out { print "fed up waiting, next please\n"; die "FED UP WAITING"; }