I'd like to offer another alternative, my IPC::System::Options which exports readpipe() and lets you use the standard backtick operator but with the option of not having to use shell.
Comment on Re^3: Safely capturing the output of an external program