in reply to Running and Monitoring program output

Well, I think your best bet would be to use the forking open.

Here's how you might do that (this is straight from Cookbook 16.10):
use IO::Handle; if ($pid = open $child, "-|") { while (<$child>) { #look ma! I'm processing! } close $child; } else { die "Couldn't fork: $!" unless defined $pid; STDOUT->autoflush(1); #exec program that wrties to STDOUT exit; }



Code is (almost) always untested.
http://www.justicepoetic.net/