Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"

Re^3: Communicate with child process via stdin, stdout

by quester (Vicar)
on Nov 20, 2011 at 06:41 UTC ( #939035=note: print w/replies, xml ) Need Help??

in reply to Re^2: Communicate with child process via stdin, stdout
in thread Communicate with child process via stdin, stdout

I don't have a copy of DCE-Whisperer to test with, so take this with a grain of salt...

If I change the child process to /bin/cat, I can get the script to run if I uncomment the print $in AND change it to

print $in "PING\n";

which works because (in this case) it flushes the buffer for $in. You could also flush the $in buffer with


depending on the child process - for example cat doesn't work without a "\n".

However, you may be running into buffering issues with DCE-Whisperer as well. As the documentation for IPC::Open2 mentions, "The big problem with this approach [that is, IPC::Open2 itself] is that if you don't have control over source code being run in the child process, you can't control what it does with pipe buffering.... The IO::Pty and Expect modules from CPAN can help with this, as they provide a real tty (well, a pseudo-tty, actually), which gets you back to line buffering in the invoked command again."

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://939035]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (2)
As of 2022-05-21 07:22 GMT
Find Nodes?
    Voting Booth?
    Do you prefer to work remotely?

    Results (76 votes). Check out past polls.