i can't write "<any key>" to the process I created through open2
No, the problem isn't with writing. As you said yourself, <> is blocking, and that's a reading operation.
<> reads until a newline is encountered (by default). However, "Press any key to continue . . ." doesn't end with a newline. Since you told perl to read until a newline is encountered. Perl happily waits for more input that will never come. Obviously, <> is not the right choice here, at least not with the default value for $/.
In addition to that problem, the output of abc or pause could be buffered, but you haven't shown that you've encountered that problem yet. Hopefully it isn't. since you'll have to convince them their STDOUT is connected to a console while it's actually connected to a pipe.
Update: Oh wait, you don't actually wait before sending \n. hmmm, let me test a bit.
In reply to Re: Perl Open2/3 and .exe
by ikegami
in thread Perl Open2/3 and .exe
by markusk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |