This does not answer your question directly, but why reinvent a wheel here? vmstat will stop itself using it like vmstat
delay count. Using the following vmstat will stop collecting after 10 iterations at 10 second intervals.
@val = `vmstat 10 10`;
update - system or IPC::Run3 may serve you better.
Ted
--
"That which we persist in doing becomes easier, not that the task itself has become easier, but that our ability to perform it has improved."
--Ralph Waldo Emerson