从命令行问题执行Perl

时间:2010-06-10 09:56:27

标签: perl command-line strawberry-perl

我上周在WinXP上用Strawberry Perl替换了ActivePerl。

我发现我必须使用perl myperl.pl的命令运行我的Perl脚本;否则我只需要在安装Strawberry之前运行myperl.pl。我怎样才能像以前一样运行myperl.pl

我检查了我的环境配置,如下所示。

C:\> Path

C:\Program Files\ActiveState Komodo Edit
5\;C:\Perl\site\bin;C:\Perl\bin;C:\Perl\bin\;C:\Program Files\CodeSynthesis
XSD 3.2\bin\;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;
C:\Program Files\ATI Technologies\ATI Control Panel;C:\Program Files\Microsoft
SQL Server\90\Tools\binn\;C:\Program Files\Common Files\Thunder Network\KanKan
\Codecs;C:\strawberry\c\bin;C:\strawberry\perl\bin`

草莓Perl路径在安装成功后已在Path值中列出。

我错过了什么?谢谢你的建议。

4 个答案:

答案 0 :(得分:11)

从命令提示符处尝试:

assoc .pl=PerlScript
ftype PerlScript=c:\strawberry\bin\perl.exe %1 %*

- KMX

答案 1 :(得分:8)

您需要将.pl文件扩展名与Strawberry Perl的可执行文件关联起来(它是Windows的东西,而不是Perl的东西)。

要做到这一点,有几种方法(你可以谷歌或在ServerFault上询问最好的一个或完整列表),但我通常在XP上使用的是:

  • 打开任何文件夹Windows资源管理器
  • 进入“工具”菜单,然后在结果对话框中单击“文件类型”选项卡
  • 在列表中找到“PL”扩展名
  • 如果它在那里,通过单击“PL”行并单击“更改”按钮将相关的可执行文件更正为Strawberry Perl的.exe
  • 如果它不在列表中,请单击“新建”按钮,在表单中键入PL扩展名,然后单击“确定”。然后关闭整个对话框,然后重新打开它。 “PL”扩展名现在位于列表中,因此单击它并单击“更改”按钮

如果我搞砸了,这是微软的官方指示:

http://support.microsoft.com/kb/307859

<强>更新 请参阅kmx的答案 - 他的方法是全命令行的,因此对我来说似乎更加优于GUI浮躁...我确认它也有效(至少没有参数)

答案 2 :(得分:3)

您可能需要将.PL扩展名放入PATHEXT环境变量中。这将使.pl个文件与PATH变量一起使用。

输入

set PATHEXT

看你是否已经成立。如果不是,请转到“我的电脑” - >“属性” - >“高级”,然后按选项卡底部的“环境变量”按钮。在那里,您可以将.PL添加到PATHEXT变量中。

或者您可以在运行的某个批处理文件中设置它以启动cmd:

set PATHEXT=%PATHEXT%;.PL

答案 3 :(得分:0)

为了完整性,这里有两个其他方法不能使.pl脚本可执行,但您可以使用它们将perl脚本变为可执行文件。

  • pl2bat假设将.pl的包装版本创建为.bat文件,该文件可在Windows系统上执行。我没有试过这个YMMV。
  • pp,我之前使用过的PAR::Packer模块的一部分,可以很好地将perl脚本滚动到可执行文件中。