I meant to mention - if you want fine-grained control rather than a batch mechanism you can use POE: http://search.cpan.org/search?query=poe&mode=all http://search.cpan.org/author/RCAPUTO/POE-0.37/lib/POE/Wheel/Run.pm lets you fork off an asynchronous child process and have non-blocking communication with it using stdin/stdout. Regards, Peter