in reply to Reading from a command pipe

I am guessing that it is around 4096 characters at a time (2**12). You are possibly Suffering from Buffering. In the pipe's source program, make sure that you have output buffering turned off. In a Perl program, that would be done with the $| variable. If the program you are feeding the pipe with does not allow you to turn off buffering, there is not a lot that you can do.

--MidLifeXis