Hi, Schwern,
> ...
Thanks for all that work. But I look at it and... guh, its so much WORK! I
keep thinking there's got to be a lazier way to handle the problem.
How about using
system(LIST)
or the list form of backticks instead of interpolating strings to feed
to the shell. That would be safer and saner. Except I seem to remember that
open "-|", ...
has problems on Win32, but the problems I encountered might have been
buffering problems.
I see no way to do clever modification of $^X, because the tests partly
use system(LIST), which works if $^X contains whitespace but fails if
$^X is quoted shell-safe, and use $^X in string interpolation, which
fails if $^X contains whitespace unless $^X is quoted shell-safe.
-max