0

我有一个需要维护的大型项目。如果我在 cmd 上运行文件,它工作正常

perl entry.pl

但是,如果我使用 Eclipse(使用 Perl 的 EPIC 插件)运行,则会引发以下错误

Global symbol "%Config" requires explicit package name at C:/Perl64/lib/Errno.pm line 11

我注意到该项目包含一个名为 config.pm 的文件。请注意,'c' 在 config.pm 中是小写字母,但在 "%Config" 中是大写字母。我认为 perl 是区分大小写的。我想一种解决方案是重命名 config.pm 及其对其他内容的所有引用(如Perl installation broken中所建议的那样)。

除了重命名对 config.pm 的所有引用之外,有没有办法解决这个问题?

为什么在 cmd 上运行时它可以工作,但在 Eclipse 上却不行?

4

1 回答 1

1

自从我解决了这个问题。我想我会回答,以便它可以帮助其他人。

出于某种原因,在 Eclipse 上,config.pm 与 Config.pm 中内置的 perl“冲突”,尽管“c”是不同的情况。如果 config.pm 是大型项目的一部分,那么将所有对类 config 的引用重命名为其他名称是非常困难的。最简单的方法是将 config.pm 移动到一个新目录(比如 MyMod)并拥有

package MyMod::config;

在 config.pm

有了这个,我只需要更改use config

use MyMod::config;

此解决方案适用于 EPIC 和外部(在命令行上)

于 2014-10-01T14:49:04.763 回答