First, let me say:
Thanx everyone for all your suggestions!
Eirik,
> That problem is not shell nastiness. It is quoting. Observe:
> :
> :
> If I recall correctly, the thing is that on Windows, a brand new process
> does not get an argument array.
>
> On Windows, it gets a command line.
>
> On Windows, the process gets to parse that command line.
>
> Now, system() does a better job building that command line than
> IPC::System::Simple does. But it does not get it "right".
>
> (And how could it, when every executable gets to implement its own
> command line parsing?)
Well, that's ... even *more* disappointing. <sigh>
> No, that's no way to go. On a more constructive note, either
> * write a command line as a Windows process expects it, and as suggested
> by several already; ...
Yeah, but then I have to do as Gabor suggests and deal with $^O, and
is it different on Win32 vs Cygwin, and are there any other OSes I
need to be worried about, and I'm getting mildly nauseous just
thinking about it. :-/
> ... or
> * write a file (tempfile if needs be), and throw $^X at that instead.
Yep, I think that's the way I need to go. I was hoping to avoid that,
but it is what it is.
Thx again, everyone!
(Wonder if there's a blog in here somewhere ... <ponder ponder>)
-- Buddy