in reply to
Re^2: Child process reading <STDIN> from parent
in thread Child process reading <STDIN> from parent
If I understand correctly the problem is not just that you're trying to read from STDOUT or write in STDIN of another process, it's that you're trying to do both at once.
perlopentut still gives you the answer on that one: it redirects to the perlipc documentation on bidirectionnal communication with another process. This seems quite simple, all you have to think about is disable buffering on both sides.