my $fh = File::Temp->new(); my $fname = $fh->filename; print $fh $code; close $fh; my $retVal = "nothing"; $retVal = timeout 5 => sub { my $r = `perl $fname $arg &2>1`; return $r; }; if ($@){ return $@; } return $retVal;