Thread habt ihr Erfahrungen mit Strawberry Perl? (11 answers)
Opened by Wild.Card at 2017-03-02 12:43

GwenDragon
 2017-03-02 14:11
#186196 #186196
User since
2005-01-17
14533 Artikel
Admin1
[Homepage]
user image
Ich habe bei mir 5 verschieden Perls aus den 32-bit-Portable-Zips aus http://strawberryperl.com/releases.html entpackt in einzelne Ordner unterhalb X:\.
Also:
X:\opt\perl-5.16
X:\opt\perl-5.18
X:\opt\perl-5.20
X:\opt\perl-5.22
X:\opt\perl-5.24

Und außerdem habe unter X:\usr\bin\ eine perl.exe und perlxx.dll, weil meine Programme auf meinem Windows-Apache mit dem Shebang #!/usr/bin/perl gestartet werden.

Und ich habe eine Junction von meinem Default Perl 5.20 X:\opt\perl-5.20\ → C:\strawberry\ gesetzt.
Damit kann auf C:\strawberry\ immer das aktuell einzustellende Entwicklungs-Perl aufgerufen werden.

Außerdem habe ich folgende Umgebungsvariablen:
PATH=C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;C:\strawberry\c\bin;X:\bin;X:\usr\bin;P:\TortoiseGit\bin;P:\Git\cmd;%USERPROFILE%\AppData\Local\Microsoft\WindowsApps


Mein Startup-Batch.

perldev.bat
more (3.3kb):

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
@echo off
setlocal

Title

set _WHAT=%1
if {%_WHAT%}=={} set _WHAT=5.20
if {%_WHAT%}=={/?} goto HELP
if {%_WHAT%}=={--help} goto HELP

if not exist "X:\opt\perl-%_WHAT%\perl\bin\perl.exe" goto WRONGPERL

set HOME=U:\LylCanbys
set _WIN=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem
set _RND=%RANDOM%

set TEMP=%LOCALAPPDATA%\Temp
set TMP=%TEMP%
set TERM=dumb
set PAGER=P:\Git\usr\bin\less.exe

set PERLPATH=C:\strawberry\perl\site\bin;C:\strawberry\perl\bin;C:\strawberry\c\bin
set PERLLIB=C:\strawberry\perl\site\lib;C:\strawberry\perl\vendor\lib;C:\strawberry\perl\lib
set INCLUDE=C:\strawberry\c\include
set LIB=C:\strawberry\c\lib

rem set HTTPS_CA_DIR=X:\etc\ssl\certs
rem set HTTPS_CA_FILE=X:\etc\ssl\certs\cacert.pem

set PERL_JSON_BACKEND=
set PERL_YAML_BACKEND=
set PERL5LIB=
set PERL5OPT=
set PERL_MM_OPT=
set PERL_MB_OPT=

set PATH=%PERLPATH%
set PATH=%PATH%;P:\GnuPG\pub
set PATH=%PATH%;X:\bin;X:\usr\bin
set PATH=%PATH%;P:\Git\bin
set PATH=%PATH%;%_WIN%

cd /D %CD%
prompt PERL-%_WHAT% $p$g

mkdir C:\TEMP 1>NUL 2>NUL
mkdir C:\TMP 1>NUL 2>NUL

rmdir /Q C:\strawberry* 1>NUL 2>NUL
if not exist C:\strawberry mklink /J C:\strawberry X:\opt\perl-5.20 1>NUL 2>NUL
move C:\strawberry C:\strawberry%_RND%_ 1>NUL 2>NUL
del /F /Q X:\usr\bin\perl*.ex_ 1>NUL 2>NUL
copy X:\usr\bin\perl.exe X:\usr\bin\perl%_RND%_.ex_ 1>NUL 2>NUL

goto runcmd

:WRONGPERL
echo Perl %_WHAT% not found!
goto end

:HELP
echo perldev PERLVERSION.SUBVERSION
echo.
goto end

:runcmd
set _W=%_WHAT%
set _VER=%_W:5.=%

mklink /J C:\strawberry X:\opt\perl-5.%_VER% 1>NUL 2>NUL
copy X:\opt\perl-5.%_VER%\perl\bin\perl.exe X:\usr\bin\perl.exe 1>NUL 2>NUL
copy X:\usr\bin\perl.exe X:\usr\bin\perl 1>NUL 2>NUL
copy X:\opt\perl-5.%_VER%\perl\bin\perl5%_VER%.dll X:\usr\bin\perl5%_VER%.dll 1>NUL 2>NUL

Title Perl Dev - Perl 5.%_VER%
cmd /K perl -e "print '-'x50,qq(\n$] \@ $^X\n),'-'x50"

:exitall
rmdir C:\strawberry 1>NUL 2>NUL
move C:\strawberry%_RND%_ C:\strawberry 1>NUL 2>NUL
copy X:\usr\bin\perl%_RND%_.ex_ X:\usr\bin\perl.exe 1>NUL 2>NUL
copy X:\usr\bin\perl.exe X:\usr\bin\perl 1>NUL 2>NUL
del /F X:\usr\bin\*.ex_ 1>NUL 2>NUL

rmdir C:\TEMP 1>NUL 2>NUL
rmdir C:\TMP 1>NUL 2>NUL

:end
endlocal


perldev 5.22 startet z. B. Perl 5.22.
Zum zurück schalten auf Standard-Perl muss perldev mit exit verlasen werden.

Du musst wohl alles auf deine Pfade anpassen.
Frage mich halt, wenns hakt.
Last edited: 2017-03-02 14:44:44 +0100 (CET)
die Drachin, Gwendolyn


Unterschiedliche Perl-Versionen auf Windows (fast wie perlbrew) • Meine Perl-Artikel

View full thread habt ihr Erfahrungen mit Strawberry Perl?