繁体   English   中英

我可以在一台计算机上同时使用 Strawberry Perl 和 ActiveState Perl 吗?

[英]May I use Strawberry Perl and ActiveState Perl simultaneously on one computer?

我曾经删除过一次我的ActivePerl ,所有安装的模块都丢失了。 所以现在我对这种问题非常小心。 由于某种原因,我现在想使用Strawberry Perl ,同时保持使用 ActiveState 的 ActivePerl。

这会导致兼容性问题吗? 是否可取?

这不会成为问题,因为两个 Perl 实现都会查看不同的模块目录。 也就是说, @INC条目会有所不同。

我在 Windows 7 Pro 实例上同时安装了ActivePerlStrawberry Perl 我的 PATH 变量顺序决定了我的 Perl 偏好。 例如,为了使用 ActivePerl,我将 PATH 设置为如下所示:

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

您始终可以使用 shebang 在脚本中覆盖它:

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

您可以一次使用两个(许多)不同的 Perl 版本。

将 PATH 变量设置为包含主要 Perl 路径(perl.exe 的路径),以确保在使用perl script.pl启动程序时运行正确的 Perl。

您可以使用Perlbrew (或其他模块)来帮助在您的计算机上保持多个 Perl 安装。

它在 Windows 上可用: http : //code.activestate.com/ppm/App-perlbrew/

我为此找到了另一个解决方案。 您可以将 Perl 代码嵌入到 Windows 批处理文件中。 通过这种方式,您可以在执行 Perl 脚本或包含模块路径之前设置环境变量。

@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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM