2012-04-02 13 views

risposta

2

È possibile utilizzare due (molte) diverse versioni di perl contemporaneamente.

Impostare la variabile PATH per includere il percorso perl principale (percorso per perl.exe) per assicurarsi che si stia eseguendo il perl corretto quando si avvia un programma con perl script.pl.

È possibile utilizzare PerlBrew: http://perlbrew.pl/ (o altri moduli) per mantenere più installazioni Perl nel computer.

E 'disponibile su Windows: http://code.activestate.com/ppm/App-perlbrew/

saluti,

+0

La versione AS richiede Business Edition Perl. C'è ora lo strumento [berrybrew] (https://github.com/dnmfarrell/berrybrew) disponibile per Strawberry Perl. – flamey

5

Questo non sarà un problema in quanto entrambi i perl s esaminerà diverse directory per i moduli. Cioè, le voci @INC saranno diverse.

+0

Grazie per i chiarimenti! Quindi, se nel percorso ambientale Active perl stato ha priorità e voglio usare Strawberry uno, allora come dovrei fare? Posso fare come mi ha detto 'Saiful', nello script perl che specifica #! C: \ strawberry \ perl \ bin \ perl? Oppure c'è una soluzione più consigliata? Grazie! –

3

Ho installato sia ActiveState che Strawberry sul mio Win7Pro. Il mio ordine variabile PATH decide la mia preferenza Perl. Per esempio, per l'utilizzo di ActiveState ho impostato il mio PATH a qualcosa di simile:

C:\Perl64\bin;C:\strawberry\perl\bin 

Puoi sempre sostituire questa nello script utilizzando la baracca:

#!C:\strawberry\perl\bin\perl 

Spero che questo aiuti.

+0

Grazie! Questo aiuta davvero. Ci proverò ora. –

+0

Se ricordo correttamente, lo shebang viene ignorato in Windows. Ho ragione? – user1126070

+0

Viene ignorato da windows, ma quando il perl predefinito viene in grado di analizzare il file, passerà il controllo al programma menzionato nella riga shebang. – justintime

0

Ho trovato un'altra soluzione per questo. È possibile incorporare il codice perl in un file batch di Windows. In questo modo è possibile impostare le variabili env prima di eseguire lo script perl o includere il percorso del modulo.

@echo off 
cd %TEMP% 
set perl_bindir=C:\strawberry\perl\bin 
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 World\n"; 

__END__ 
:endofperl