Help for this page
$SIG{ALRM} = sub { die "TIMEOUT" }; eval { ... }; if ($@ =~ /TIMEOUT/) { # do stuff }
open COMMAND, "$command |" or die "Can't fork: $!\n"; eval { ... alarm(OFF); }; close COMMAND; #notice no 'or die stuff' here anymore