#!/usr/bin/perl
sub catch_alarm { die "Timeout" }
for (;;) {
eval {
local $SIG{ALRM} = \&catch_alarm;
undef $!;
print "What do you want? >";
alarm 10;
if (defined( $line = readline STDIN )) {
alarm 0;
chomp $line;
print "Here's some $line!\n";
} elsif ($!) {
die "Read error" ;
}
};
if ( $@ =~ /Timeout/ ) {
print "\nI grow tired of waiting!\n";
}
}
What do you want? >foo
Here's some foo!
What do you want? >qlarch
Here's some qlarch!
What do you want? >
I grow tired of waiting!
What do you want? >
s//----->\t/;$~="JAPH";s//\r<$~~/;{s|~$~-|-~$~|||s
|-$~~|$~~-|||s,<$~~,<~$~,,s,~$~>,$~~>,,
$|=1,select$,,$,,$,,1e-1;print;redo}