fork is emulated using threads but threads share file handles so you can't (without quite a bit more fakery being implemented) emulate pipes (between threads).
You should be building around something portable like IPC::Run or IPC::Open3 instead.
| [reply] |
tye, thanks for pointing me there. Unfortunately, IPC::Run is a catch-22. I'm doing this to automatically install new modules, and using IPC::Run means I need to install it first. I've used IPC::Open3 in the past, and found it annoyingly complex, and thought I hit a gold mine with this new open :-) Guess not.
Note that IPC::Open3's documentation, now that I'm looking at it again, explicitly says that "-|" doesn't work on Win32. That's unfortunate, but it shows more evidence that this is indeed the problem, and I need to work around it prior to further testing of my code.
Thanks!
| [reply] |
Piped opens ("prog |" & "| prog") work, just not the '-|' varient. For some reason it has never been implemented.
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
Lingua non convalesco, consenesco et abolesco.
Rule 1 has a caveat! -- Who broke the cabal?
| [reply] |
Thanks for the updates. I'm learning all the time here ...
- j | [reply] |