Michael G Schwern <[EMAIL PROTECTED]> writes: >Remember this post about MakeMaker and perls with spaces in the path name? >http://archive.develooper.com/makemaker@;perl.org/msg00181.html > >What version of MakeMaker were you using? I just noticed that somewhere >right around that post this was added to ExtUtils::MM_Win32->find_perl > > print "Executing $abs\n" if ($trace >= 2); > (my($safe_abs) = $abs) =~ s{(\s)}{\\$1}g; > $val = `$safe_abs -e "require $ver;" 2>&1`; > >ie. whitespace is escaped. At least that's the attempt. It obviously >doesn't work since backwacks mean something completely different on Win32. > >I think I've found a solution. I just ran this in a Win98 DOS window:
As I recall the quoting rules for Win9X's command.com and winNT's cmd.exe are different. I think the real snag is how to get a '"' in the string which is why all the Win32 perl -e ... use "" and then qq inside. The snag with that is if you use -e "" on UNIX $foo is interpollated by the shell. (On Win32 there is some risk %foo will be interpollated...) > >Fortunately, this solution also works in Unix so we may be able to not only >fx your problem but also remove the MM_Win32 version of find_perl. -- Nick Ing-Simmons http://www.ni-s.u-net.com/