I am making some progress with IPC::Run but I still cannot get what I really want. Even though I am using pump_nb, it still blocks until the command completes. I am guessing this is a buffering issue. I saw documentation that says the input stream is automatically flushed but it says nothing about the output.
Assuming my guess is correct (I hope someone will confirm that or explain what is happening) then is there a way to automatically flush the output buffer. My script needs to see any output when it is immediately available since the command is long running and operator action may need to be taken. Thanks.