in reply to Re^2: Cleaning %PATH% with WinBatch
in thread Cleaning %PATH% with WinBatch

Hello again LanX,

> I suppose two portable SBs in the path will lead to the primary searching for modules in the secondary

It is very disappointing but you are right (not for you, for the fact itself ;)

perl -v This is perl 5, version 26, subversion 0 (v5.26.0) built for MSWin32-x +64-multi-thread # this perl has MCE support perl -MMCE -e 1 # and this is its path PATH=C:\EX_D\ulisseDUE\perl5.26.64bit\perl\site\bin; C:\EX_D\ulisseDUE\perl5.26.64bit\perl\bin; C:\EX_D\ulisseDUE\perl5.26.64bit\c\bin; C:\EX_D\ulisseDUE\bin\UnxUtils\usr\local\wbin; C:\WINDOWS; C:\WINDOWS\system32; # this other one is 5.20.3 WITHOUT MCE perl -v This is perl 5, version 20, subversion 3 (v5.20.3) built for MSWin32-x +64-multi-thread # original path PATH=C:\EX_D\ulisseDUE\perl5.20.64bit\perl\site\bin; C:\EX_D\ulisseDUE\perl5.20.64bit\perl\bin; C:\EX_D\ulisseDUE\perl5.20.64bit\c\bin; C:\EX_D\ulisseDUE\bin\UnxUtils\usr\local\wbin; C:\WINDOWS;C:\WINDOWS\system32; perl -MMCE -e 1 Can't locate MCE.pm in @INC (you may need to install the MCE module) (@INC contains: C:/EX_D/ulisseDUE/perl5.20.64bit/perl/site/lib C:/EX_D +/ulisseDUE/perl5.20.64bit/perl/vendor/lib C:/EX_D/ulisseDUE/perl5.20. +64bit/perl/lib .). BEGIN failed--compilation aborted. # prepending the other version in PATH set PATH=C:\EX_D\ulisseDUE\perl5.26.64bit\perl\site\bin; C:\EX_D\ulisseDUE\perl5.26.64bit\perl\bin; C:\EX_D\ulisseDUE\perl5.26.64bit\c\bin; C:\EX_D\ulisseDUE\perl5.20.64bit\perl\site\bin; C:\EX_D\ulisseDUE\perl5.20.64bit\perl\bin; C:\EX_D\ulisseDUE\perl5.20.64bit\c\bin; C:\EX_D\ulisseDUE\bin\UnxUtils\usr\local\wbin; C:\WINDOWS; C:\WINDOWS\system32; path PATH=C:\EX_D\ulisseDUE\perl5.26.64bit\perl\site\bin; C:\EX_D\ulisseDUE\perl5.26.64bit\perl\bin; C:\EX_D\ulisseDUE\perl5.26.64bit\c\bin; C:\EX_D\ulisseDUE\perl5.20.64bit\perl\site\bin; C:\EX_D\ulisseDUE\perl5.20.64bit\perl\bin; C:\EX_D\ulisseDUE\perl5.20.64bit\c\bin; C:\EX_D\ulisseDUE\bin\UnxUtils\usr\local\wbin; C:\WINDOWS; C:\WINDOWS\system32; # now... omg UPDATE: wrong assumption from my part: see below Anonymou +s Monk at 11144117 perl -MMCE -e "print $INC{'MCE.pm'}" C:/EX_D/ulisseDUE/perl5.26.64bit/perl/site/lib/MCE.pm

The wonderful cpanm program is problematic on windows: Re: Should cpanminus be part of the standard Perl release? -- MSWin32

I'd hardcode PATH inside the portableshell.bat

PS

if the alien perl is appended to PATH the beahviour is sane

set PATH=C:\EX_D\ulisseDUE\perl5.20.64bit\perl\site\bin; C:\EX_D\ulisseDUE\perl5.20.64bit\perl\bin; C:\EX_D\ulisseDUE\perl5.20.64bit\c\bin; C:\EX_D\ulisseDUE\bin\UnxUtils\usr\local\wbin; C:\WINDOWS;C:\WINDOWS\system32; C:\EX_D\ulisseDUE\perl5.26.64bit\perl\site\bin; C:\EX_D\ulisseDUE\perl5.26.64bit\perl\bin; C:\EX_D\ulisseDUE\perl5.26.64bit\c\bin; perl -MMCE -e "print $INC{'MCE.pm'}; print @INC" Can't locate MCE.pm in @INC (you may need to install the MCE module) ( +@INC contains: C:/EX_D/ulisseDUE/perl5.20.64bit/perl/site/lib C:/EX_D +/ulisseDUE/perl5.20.64bit/perl/vendor/lib C:/EX_D/ulisseDUE/perl5.20. +64bit/perl/lib .). BEGIN failed--compilation aborted. which perldoc.bat C:\EX_D\ulisseDUE\perl5.20.64bit\perl\bin\perldoc.bat

L*

There are no rules, there are no thumbs..
Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.

Replies are listed 'Best First'.
Re^4: Cleaning %PATH% with WinBatch
by Anonymous Monk on May 23, 2022 at 09:46 UTC

    Hello again LanX, > I suppose two portable SBs in the path will lead to the primary searching for modules in the secondary It is very disappointing but you are right (not for you, for the fact itself ;)

    whatwhat you posted shows that doesnt happen , perl doesnt search %path% for more @inc entries

      Ah! is the perl.exe that is different, obviously: prepending another perl this is called first so it search for its own modules.

      L*

      There are no rules, there are no thumbs..
      Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.
        Yes windows perls are relocatable by default for 20+ years now ...