我需要在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。
有什么想法吗?
答案 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。