-----Original Message----- From: Kenneth Wolcott
Sent: Wednesday, November 18, 2015 5:23 AM
To: sisyph...@optusnet.com.au
Cc: Perl Beginners
Subject: Re: Will Strawberry Perl installation cause any conflicts with pre-existing Actoive State Perl on W2008 server?

Apparently Strawberry Perl did inject itself into the Windows PATH variable resulting in more than one Perl executable being found by the build process that builds the installer. (Not sure if Strawberry Perl was earlier in the path or not, but I suspect that it the fact that there were more than one location of "perl.exe" in the path that was the cause of the problem, not that Strawberry Perl was earlier in the path than Active State).

Sounds like you didn't install one of the "portable" versions, such as those named "PortableZIP" from http://strawberryperl.com/releases.html.

Those versions don't have an installer - you just unzip them to a location of your choice, and that's it. In so doing, the StrawberryPerl perl.exe will be placed into a location that was previously non-existent - so it can't possibly be in the system path unless someone takes the (misguided) step of adding that location.

The only time it gets into the path is when you open a shell by executing portableshell.bat - whereupon it adds its own directories to the beginning of the PATH. But that setting affects only that specific shell - all other shells (eg those opened up by executing cmd.exe) will be unaffected.

If ActivePerl is in your system path, then it will also be in the PATH of the shell opened up by portableshell.bat, but it will occur after StrawberryPerl. I don't think that should be a problem - but if it is, you could rewrite portableshell.bat such that ActivePerl is excluded from the path. (This might not be trivial if you're installing strawberry on multiple machines that have different layouts - would still be do-able, but.)

As well as there being a "perl.exe", strawberry also ships with "perl5.x.x". Other solutions would be to remove the StrawberryPerl "perl.exe" and invoke its perl instead as "perl5.22.0" (or whatever). You could (untested) even rename "perl.exe" to (eg) "sperl.exe" to avoid name clashes.
Is there any imperative that Strawberry Perl *has* to be invoked as "perl" ?

Sorry - I probably should have explained a bit more in my initial reply, but I was relying more on follow-up questions rather than trying to cover in advance the various scenarios that might hypothetically arise.

Cheers,
Rob



--
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to