/ / Darf ich Strawberry Perl und ActiveState Perl gleichzeitig in einem Computer verwenden? - Perl, Erdbeerperl, Aktivperl, Aktivstoff

Darf ich Strawberry Perl und ActiveState Perl gleichzeitig in einem Computer verwenden? - Perl, Erdbeerperl, Aktivperl, Aktivstoff

Ich bin Perl nicht neu, aber dieses Problem verwirrt mich.

Ich löschte meine ActiveState Perl einmal undAlle installierten Module sind verloren. So, jetzt bin ich sehr vorsichtig mit dieser Art von Problem. Aus irgendeinem Grund möchte ich jetzt Strawberry Perl verwenden, während ActiveState Perl verwendet wird.

Wird dies Kompatibilitätsprobleme verursachen? Ist es ratsam?

Antworten:

5 für die Antwort № 1

Dies wird kein Problem sein, da sowohl die perls wird verschiedene Verzeichnisse für Module betrachten. Das heißt, die @INC Einträge werden anders sein.


3 für die Antwort № 2

Ich behalte sowohl ActiveState als auch Strawberry auf meinem Win7Pro. Die Reihenfolge meiner PATH-Variablen bestimmt meine Perl-Präferenz. ZB für die Verwendung von ActiveState setze ich meinen PATH so etwas wie:

C:Perl64bin;C:strawberryperlbin

Sie können dies in Ihrem Skript immer mit shebang überschreiben:

#!C:strawberryperlbinperl

Hoffe das hilft.


2 für die Antwort № 3

Sie können zwei (viele) verschiedene Perl-Versionen gleichzeitig verwenden.

Setzen Sie Ihre PATH-Variable so, dass sie Ihren primären Perl-Pfad (Pfad zu perl.exe) enthält, um sicherzustellen, dass Sie das richtige Perl ausführen, wenn Sie ein Programm mit perl script.pl starten.

Sie könnten PerlBrew verwenden: http://perlbrew.pl/ (oder andere Module), um die Installation mehrerer Perl in Ihrem Computer zu unterstützen.

Es ist verfügbar unter Windows: http://code.activestate.com/ppm/App-perlbrew/

Grüße,


0 für die Antwort № 4

Ich habe dafür eine andere Lösung gefunden. Sie könnten Ihren Perl-Code in eine Windows-Batch-Datei einbetten. Auf diese Weise können Sie env-Variablen festlegen, bevor Sie Ihr Perl-Skript ausführen oder Ihren Modulpfad einschließen.

@echo off
cd %TEMP%
set perl_bindir=C:strawberryperlbin
set module_dir=C:my_perl_modules
set path=%perl_bindir%;%path%

echo Launching %0 perl script

%perl_bindir%perl.exe -I %module_dir% -x -S %0 %*
goto endofperl

#!perl -w

use strict;
print "Hello Worldn";

__END__
:endofperl