in reply to open* and buffered program output

Have you tried autoflush?

use IO::Handle; : open3( $input, $output, '', $command ); $output->autoflush()
I haven't tried, but maybe it will help.