in reply to External program with large amounts of output

while(`program args`)

FYI, this is just the same as doing:

{ my @a = `program args`; while( @a ) { ... } }

Backticks / qx// always wait for the program spawned to return before returning.