Perl 在require中编译失败-开始失败

Perl 在require中编译失败-开始失败,perl,perl-module,Perl,Perl Module,我开始使用Padre,在处理一个从命令行运行时运行正常的特定程序时,Padre在require错误消息中显示编译失败,表明BEGIN有问题,并且我的模块中没有BEGIN块 因此,如果有人能阐明这可能发生的情况。导致错误的模块有500多行代码,所以不要认为粘贴所有这些代码是明智的 有时我想知道为什么我选择了一个IDE来给我带来更多(也许是不必要的)悲伤:-) 非常感谢 use Foo; 是的缩写 BEGIN { require Foo; import Foo; } 无论如何,这个

我开始使用Padre,在处理一个从命令行运行时运行正常的特定程序时,Padre在require错误消息中显示编译失败,表明BEGIN有问题,并且我的模块中没有BEGIN块

因此,如果有人能阐明这可能发生的情况。导致错误的模块有500多行代码,所以不要认为粘贴所有这些代码是明智的

有时我想知道为什么我选择了一个IDE来给我带来更多(也许是不必要的)悲伤:-)

非常感谢

 use Foo;
是的缩写

BEGIN {
   require Foo;
   import Foo;
}

无论如何,这个错误消息不值得注意。这意味着“我通常会试图找到所有的错误,但这次我不能。首先修复早期的错误。”那么您实际得到了什么错误?

好吧,问题是当我在Padre中打开模块时,只有两个
未初始化值
警告,主脚本中也没有其他错误。无论如何,谢谢你。我想调试器正在变得混乱,因为实际的脚本应该在Solaris机器上运行,而我正试图在我的windows PC中模拟环境,只是为了运行Padre,而我在某处缺少一个模块。。。最好满足于Vim而不是Putty。无论您使用的是哪种操作系统,如果没有另一条致命错误消息,您给出的消息将永远不会发生。现在,可能是Padre中的一个bug隐藏了它…发现了问题。我的模块中使用的一个模块调用getpwuid,这在windows上当然不可用。奇怪的是,直到我明确地将
使用模块
放在BEGIN块中,它才报告它。我想你的澄清在某种程度上有所帮助。谢谢?多么奇怪,因为
使用模块
开始{需要模块;导入模块;}
相同。它实际上在内部创建了一个BEGIN块!这就是为什么我一开始没有弄明白。实际错误在module.pm中,IDE没有报告它,但在另一个脚本中使用时,同一个IDE报告了它。我检查了一遍又一遍。这里:还有。检查两个屏幕截图中的语法检查窗口。