1234567891011121314
my $timeout = 10; # secondseval { local $SIG{ALRM} = sub { die "alarm\n" }; # NB: \n required alarm $timeout; C_function_call(); alarm 0;};if ($@) { die unless $@ eq "alarm\n"; # propagate unexpected errors # timed out}else { # didn't}