Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: Multiple Strawberry Perl Versions under Windows

by VinsWorldcom (Priest)
on Oct 10, 2012 at 02:30 UTC ( #998116=note: print w/ replies, xml ) Need Help??


in reply to Multiple Strawberry Perl Versions under Windows

I use 'junction' in a batch script to achieve this. I installed the latest Strawberry Perl (5.16.1) for Windows 7 in the default directory. Then I just renamed the directory to 'strawberry-5-16'. I created a few new directories in the root:

cd c:\ mkdir strawberry-5-10 mkdir strawberry-5-12 mkdir strawberry-5-14

I then grabbed the ZIP versions of the associated Strawberry Perl versions corresponding to the directories and unzipped them directly into their respective directories.

Finally, to use the Perl I want, I just use the following batch script 'perlreloc.bat'. For example, if I want to use 5.16, I just type:

perlreloc 5-16

The script basically creates a junction (like a link in *nix) so c:\strawberry actually points to c:\strawberry-5-16 (in the above example). With this way, you don't need to use the Strawberry relocation script and older versions of Strawberry that don't support relocation will still work because when activated with the batch file, they appear to be running in their default directory - c:\strawberry.

perlreloc.bat:

@echo off REM REM Help REM if {%1}=={/?} goto HELP if {%1}=={--help} goto HELP REM REM Check args REM if not {%2}=={} goto ERROR REM ------------------------------------------------------- if {%1}=={} ( junction c:\strawberry perl -e "print \"$] \@ $^^X\n\"" ) else ( if exist c:\strawberry-%1\perl\bin\perl.exe ( junction -d c:\strawberry junction c:\strawberry c:\strawberry-%1 perl -e "print \"$] \@ $^^X\n\"" ) else goto ERROR ) goto END REM ------------------------------------------------------- :ERROR echo %0: Parameter format not correct goto END :HELP echo. echo %0 manages different versions of Perl. echo. echo USAGE: echo. echo %0 ^<Perl_version_number^> echo. echo Where ^<Perl_version_number^> is one of the following: echo. for /f "tokens=1,* delims=-" %%i in ('dir /b c:\strawberry-*') do @if +exist c:\strawberry-%%j\perl\bin\perl.exe echo %%j echo. :END


Comment on Re: Multiple Strawberry Perl Versions under Windows
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://998116]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (7)
As of 2014-12-28 06:12 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (178 votes), past polls