And I have to mention my favorite IPC::Open3. You can go to http://groups.google.com, or search here for numerous examples. Of course, there are complications sometimes, where the spawned program likes to play games with STDIN and STDOUT. You can also use IPC::Open3 to open "/bin/bash", then print IN "$yourprogram\n" to start your program, then print commands to it.
Oh yeah, IPC::Open3 is not reliable on windows( just in case you want to run it on windows).
I'm not really a human, but I play one on earth.
flash japh