On Thursday, November 14, 2002, at 09:07 AM, Michael G Schwern wrote:
Ok, here's what's gone in. It should solve both the 2>&1 problem on Win9X
and the C:\Program Files\perl\bin\perl problem, at least in find_perl().
This means MM_Win32->find_perl can go away.
[...]
@@ -1084,12 +1097,18 @@
print "Checking $abs\n" if ($trace >= 2);
next unless $self->maybe_command($abs);
print "Executing $abs\n" if ($trace >= 2);
- $val = `$abs -e 'require $ver; print "VER_OK\n" ' 2>&1`;
- if ($val =~ /VER_OK/) {
+
+ # To avoid using the unportable 2>&1 to supress STDERR,
+ # we close it before running the command.
+ close STDERR if $stderr_duped;
+ $val = `"$abs" -e "require $ver; print qq{VER_OK\n}"`;
+ open STDERR, '>&STDERR_COPY' if $stderr_duped;
Is there no way to use the multi-arg system() to avoid these quoting issues altogether?
-Ken
