IPC::Run allows you run and interact with child processes, files, pipes,
and pseudo-ttys. Both event-loop and procedural techniques are
supported and may be mixed. Likewise, functional and OO API styles are
both supported and may be mixed.
WWW: http://search.cpan.org/dist/IPC-Run/