In words, not in perl: you fork with
open(my $chld, '-|'), in the child you send your PID to the father, and then
exec the
$vmdiscover thing; in the parent, you read the PID of the child, and after the timeout you just
kill it.
[]s, HTH, Massa (κς,πμ,πλ)