use strict; use warnings; my $v_bg_tm = time(); # Just before eval call eval { local %SIG; $SIG{ALRM} = sub { die "Timeout after 10 seconds!\n"; }; alarm 10; # sleep 20; # OPTION 1 - Timeout in 10 seconds # `lp_solve lp_Gnrtd-470-Hdr_32.lp`; # OPTION 2 - Timeout in 180+ seconds alarm 0; }; print time() - $v_bg_tm , " seconds used against timeout of 10 seconds\n";