Thank you for the quick response.
From Pipe Opens:
"If you would like to open a bidirectional pipe, the IPC::Open2 library will handle this for you."
From Bidirectional Communication with Another Process:
"While this works reasonably well for unidirectional communication, what about bidirectional communication? The obvious thing you'd like to do doesn't actually work:"
open(PROG_FOR_READING_AND_WRITING, "| some program |")
"and if you forget to use the use warnings pragma or the -w flag, then you'll miss out entirely on the diagnostic message:"
Can't do bidirectional pipe at -e line 1.
Am I misinterpreting what that says? I may need to take a step back and revisit this in a bit to get a clearer perspective.