in reply to real time open(HANDLE,"cmd |");

I think that it's cmd buffering its output, so here's not too much you can do in perl. Fix cmd to flush it's buffer after every output operation if you can.

Replies are listed 'Best First'.
Re^2: real time open(HANDLE,"cmd |");
by ikegami (Patriarch) on Nov 07, 2009 at 23:21 UTC
    About the only thing you can do is fool the program into thinking its connected to a tty rather than a pipe. That will cause most programs to use line buffering. Look into using a pseudo tty. IPC::Run can help there.
      A windows console handle (CONIN$, CONOUT$) is not a pipe handle, it is a character device file handle (TTY handle) to the console input buffer or a console output buffer.