You want control AND to use backticks? Backticks call out to the shell, so control is gone. The best you can do with backticks is understand how each shell works and possibly how to override which shell your being given by $ENV or /etc/passwd .
If you want control, use a 3 argument open() w/ MODE set to '-|'.
TJD