Thanks all for your comments.
asarih "Named pipes" - my bad, slip of the tongue. I meant the opposite to perls 'anonymous pipes' (ie, open( "| ..." )).
Thelonius++ 5120 bytes, okay, i didn't know that - presumably that's the problem then. I'll just create another process to read the data as its generated.
Zaxo I see your point, but no it doesn't, because the reading of <CHILD> still only occurs after the loop has finished. At best, it may free up space for the last $MAXPROCESS processes to write to.
Already tried the autoflushing, no luck.
print"Just another Perl hacker\n";
# ^ look, no space! pretty tricky huh?