如何在Windows 7上运行2个perl版本?

时间:2011-09-10 07:49:43

标签: perl windows-7

我需要在Windows 7上运行两个版本的perl。

第一个与VMware vCLI捆绑在一起,它是Active State Perl 5.8.8。

我需要的脚本dev是Stawberry 5.12.4(类似的东西)。

当我输入perl -v它调用AS perl时,它似乎不支持命名捕获和我在perl中认为理所当然的其他东西。

两个perls都已安装我只是不知道如何调用Stawberry而不是AS perl。

有什么想法吗?

2 个答案:

答案 0 :(得分:3)

如David Heffernan所述,您可以通过编辑PATH环境变量来解决您的具体问题。

System control panel
> Advanced system settings
> Environment variables
> Path
> Edit...

更广泛地说,这是我目前用于在Windows 7上管理Perl,Python等多个版本的一般方法。我希望有更好的方法来实现这一点。

我创建了一个这样的Perl安装区域:

C:\usr\perls\
     5.10\
     5.12\
     etc.

     current # Symbolic link.

在同一个区域中,我创建一个符号链接(current),引用我想要的版本作为我的默认值,并确保我的PATH环境变量中的所有Perl引用都使用current而不是具体版本号。

# Open cmd window as an administrator.
cd C:\usr\perls
mklink /D current 5.12

根据这种方法,我可以通过更改一个符号链接来快速修改系统的默认Perl,而不是对PATH进行多次编辑,这样更乏味。

此外,我在包含批处理脚本的PATH中添加了一个目录来调用特定的Perls。

C:\usr\bin
    perl5.10.bat
    perl5.12.bat
    etc.

这些脚本看起来像这个例子:

    @ C:\usr\perls\5.12\perl\bin\perl.exe %*

答案 1 :(得分:1)

我是通过更改PATH环境变量来实现的。使它指向5.12版本,您可能会发现VMware代码继续工作,因为它知道在哪里找到它的Perl。如果没有,请创建一个.bat文件,设置PATH以引用5.12安装,并使用该文件启动到cmd窗口,从中调用perl调用5.12。