my $timeout = 5; eval { #traps fatal alarm.. local $SIG{ALRM} = sub { die "alarm\n" }; #\n required alarm $timeout; print "Do you suck (Y/N)?"; $answer = <>; alarm 0; }; if (!($@)) { #looks like they typed something Y?... if ($answer =~ /[Nn]/) { # guess they dont suck $suck = 0; } else { #suck = 1; } } else { $suck = 1; print "You didn't type anything you suck..\n"; }