我正在使用Eclipse Perl Integration Plugin (EPIC)进行Perl开发。它的所有功能都适用于Perl文件(* .pl),但是Perl模块存在问题(* .pm)(我将它们添加到同一个项目中,因此项目设置是相同的):即时语法检查不起作用,所以我在编码时看不到任何错误
这是一个错误还是我需要重新检查任何设置?
谢谢。
答案 0 :(得分:3)
对我来说,每个.pl和.pm都没有任何问题,所以在评论中你应该尝试将Epic Perl编辑器设置为pm文件的默认编辑器,你可以右键单击pm文件包浏览器或导航器,然后选择open With ---> EPIC Perl Editor
,如下所示:
一旦用EPIC perl编辑器打开,下次将是该文件的默认值,因为在eclipse中,文件的默认编辑器是最后打开文件的编辑器...
答案 1 :(得分:2)
事实证明,Perl找不到@INC
中的当前模块名称,我在其当前模块中使用了另一个模块 - 这就是为什么perl -c
被{{内部的错误中断“的原因1}}阻止。
BEGIN
它导致编译器过早中止,这停止了语法检查
其中一种可能的解决方案是使用BEGIN {
push @INC, catdir( dirname( $INC{'ThisModule.pm'} ), qw( .. ModulesFolder1 ) );
push @INC, catdir( dirname( $INC{'ThisModule.pm'} ), qw( .. ModulesFolder2 ) );
}
代替__FILE__
。
有关我具体情况的更多信息,请参阅this SO answer 由于following EPIC support forum topic,找到了问题的原因。