Cannot portably split on $Config{path_sep} -- use quotemeta($Config{path_sep}).
Craig A. Berry [Tue, 2 Mar 2010 00:56:45 +0000 (18:56 -0600)]
Broken in fc5e5837c991d3d3224259ff5c1d728d4e0636e2.

On VMS we were getting:

$ perl -"MConfig" -e "print join('+',split $Config{path_sep}, 'foo|bar|baz');"
f+o+o+|+b+a+r+|+b+a+z

which is a *lot* more pieces than we want.  What was intended was:

$ perl -"MConfig" -e "print join('+',split quotemeta($Config{path_sep}), 'foo|bar|baz');"
foo+bar+baz

No version bump as this is test infrastructure and 1.55 has not been
released outside of development releases of blead.

dist/ExtUtils-Install/t/lib/MakeMaker/Test/Utils.pm

index c3c214c..453a8ed 100644 (file)
@@ -149,7 +149,7 @@ sub perl_lib {
        # $ENV{PERL5LIB} will be set with this, but (by default) it's a relative
        # path.
        $ENV{PERL5LIB} = join $Config{path_sep}, map {
-           File::Spec->rel2abs($_) } split $Config{path_sep}, $ENV{PERL5LIB};
+           File::Spec->rel2abs($_) } split quotemeta($Config{path_sep}), $ENV{PERL5LIB};
        @INC = map { File::Spec->rel2abs($_) } @INC;
     } else {
        my $lib = 'blib/lib';