http://www.perlmonks.org?node_id=415037

BUU has asked for the wisdom of the Perl Monks concerning the following question:

I have a perl script which does some stuff. One of the things it does is fork a child and wait for results from the child. The child executes this simple piece of code:
eval{ $pid = open3( $write, $read, $error, $shebang, $_ ) };
Where $write, $read, $error are all empty to be used as filehandles, $shebang is "perl" and $_ is "usr/test.pl". Heres the thing. When test.pl prints out total content equal to or less than 488 characters, everything works properly. But if test.pl prints out 488 characters, the open3 call hangs and the script never advances beyond it. Anyone have the vaguest idea where I could look, or what I could use instead of open3?

Test.pl is literally: print "x" x 488 when it works and print "x" x 489 when it doesn't.