Think about Loose Coupling | |
PerlMonks |
Re: open3 buffering in linux vs. os xby BrowserUk (Patriarch) |
on Jan 08, 2009 at 23:50 UTC ( [id://735048]=note: print w/replies, xml ) | Need Help?? |
Not a *nix user here, so your mileage might vary, but there is a trick I use successfully to cause interactive programs to flush their buffers under Win32 that might work for you. Most interactive programs have some kind of 'status' command with a regular and easily recognisable output format. The trick is to issue one or more of these when you've reached a point that you need to know that you're seeing all the output from the previous command or batch of commands. A quick look at the ProFit docs shows that it has a 'comment' command. Any line entered that starts with '#' is simply echoed to stdout. Which is great, as it is easy for your read loop to simple discard any line that starts with '#'. With a little investigation, you can even determine the size of the output buffer and simply do print $writeFH '#' x $bufferSize;, and know that whatever output precedes that will have been flushed through after you've issued it. It's not exactly a cool solution, but it is easy to implement and try. Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
In Section
Seekers of Perl Wisdom
|
|