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:

perl -wle "$prog = qq{\42C:\\Program Files\\Opera\\Opera.exe\42};  `$prog`"

and it worked (it ran the Opera browser).  So the solution above should be
to simply put double quotes around the $abs.

            print "Executing $abs\n" if ($trace >= 2);
            $val = `"$abs" -e "require $ver;" 2>&1`;

Could you try this with your C:\Program Files\perl setup?  (Mine's installed
in C:\Perl).

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.


-- 

Michael G. Schwern   <[EMAIL PROTECTED]>    http://www.pobox.com/~schwern/
Perl Quality Assurance      <[EMAIL PROTECTED]>         Kwalitee Is Job One
Cuius rei demonstrationem mirabilem sane detexi hanc subcriptis 
exigutias non caperet.

Reply via email to