I'm not sure if you can do this in this particular case, but
fork() might do the trick. Ofcourse you'd need some magic
to gather the output afterwards.
Just an idea, why don't you open the both at the same time,
eg:
sub BothStat {
$cpuoutput_time = time;
$vmoutput_time = time;
open (VMOUT, "$vmstat |");
open (CPUOUT, "$cpustat |");
@cpuoutput = <CPUOUT>;
$vmoutput = <VMOUT>;
close (CPUOUT);
close (VMOUT);
}