我在 Eclipse 中使用 Perl。
在同一个目录下,我有一个.pl
文件和两个.pm
文件(pmFile1.pm、pmFile2.pm)。
在 .pl 文件的顶部,我使用以下命令:
use pmFile1;
use pmFile2;
我收到一个错误
编译失败
我不相信我之前有这个错误。我已经在网上研究过这个错误,但无法弄清楚可能是什么原因造成的,因为我没有找到与我的类似情况导致该错误。我不知道还包括哪些其他信息,但如果被问到会添加任何信息......
谢谢你。
我在 Eclipse 中使用 Perl。
在同一个目录下,我有一个.pl
文件和两个.pm
文件(pmFile1.pm、pmFile2.pm)。
在 .pl 文件的顶部,我使用以下命令:
use pmFile1;
use pmFile2;
我收到一个错误
编译失败
我不相信我之前有这个错误。我已经在网上研究过这个错误,但无法弄清楚可能是什么原因造成的,因为我没有找到与我的类似情况导致该错误。我不知道还包括哪些其他信息,但如果被问到会添加任何信息......
谢谢你。
我建议您检查模块pmFile1.pm 是否存在终端 shell 中的错误
$ perl -c pmFile1.pm
syntax error at pmFile1.pm line 1, near "."
pmFile1.pm had compilation errors.
输入单个点时。作为 pmFile1.pm 中的语法错误并运行 p.pl 文件然后下面的错误显示在 Eclipse 中,与您描述的相同。如果你在终端 shell 中运行 .pl 文件,那么你会在 require中得到与 eclipse中相同的编译失败:
$ perl p.pl
syntax error at pmFile1.pm line 1, near "."
Compilation failed in require at p.pl line 1.
BEGIN failed--compilation aborted at p.pl line 1.
这可能不是你的问题,但我以前被类似的东西“咬”过:检查文件中的行尾字符。编译器可能会认为您的代码都是一行,当视觉上(在编辑器中)有问题的行将在代码的后面时,代码中任何地方的错误都会显示为在第 1 行。在记事本++ 中,您可以使用“编辑”>“EOL 转换”>“Windows 格式”(或任何适合您的格式)菜单选项来解决此类问题,尽管其他编辑器可能对 *NIX <->“Windows EOL 转换”具有类似的功能。如果您可以成功使用模块文件给您一个错误而其他脚本文件中没有错误,则此错误将是有意义的。
我通过将所需的包更改为一些虚拟名称来解决这个问题,然后保留它。