in reply to Re: Deadlock occurring, reason unknown
in thread Deadlock occurring, reason unknown

Bleh. Forgot to reselect STDOUT before the final print. So, added select(STDOUT); right before the print line. Then:
C:\premchai21\perl>perl multipipe.pl -f tiny
hello, world!
#^Z, RET#
#^Z, RET#
#^Z^Z^Z^Z^Z^Z^Z^Z^Z#

Can't read: Bad file descriptor, 36081, ; stopped at multipipe.pl line 102.

C:\premchai21\perl>
So, from the error message, it seems as if I have a bad file descriptor. I can't imagine why, though. I think... I think I will add some debugging statements and try again.