in reply to capturing stdout from a piped open

From perldoc -f open:
You are not allowed to "open" to a command that pipes both in and out, but see the IPC::Open2 man- page, the IPC::Open3 manpage, and the Bidirec- tional Communication with Another Process entry in the perlipc manpage for alternatives.
Take a look at perldoc perlipc, IPC::Open2 and IPC::Open3 ..