当 EPIC 第一次在 Perl 脚本中使用特殊的 %ENV 变量时,这会出现在 Eclipse 文本编辑器中。 我没有在这个环境中运行任何东西,我只是想让警告消失。
我在“运行配置”部分摆弄,但这似乎没有帮助。
更新1:所有这些答案都是关于更改代码,这应该是没有必要的。是的,如果我取消设置环境变量,我可能会在命令行上发生相同的错误。但我想在Eclipse中定义环境变量,以匹配正常的命令行环境,这样警告就不会发生。我尝试在 Eclipse 的“运行配置”中定义它,但它似乎没有生效。
我还尝试在 ~/.bashrc 和相关位置设置变量,并为 Eclipse 创建一个设置该变量的启动脚本。这些都没有修复警告。
我可以通过右键单击并选择“源”,然后选择“清除所有 EPIC 标记”来使警告消失,但下次更改文件时该警告会再次出现。
更新 2:如果我在运行配置中定义环境变量,然后运行脚本,它就可以顺利通过这些行。但是,当我编辑时,文本编辑器 Pane 中仍然显示一条波浪形的红色下划线和一条警告 - 这就是我想要删除的警告。
最佳答案
当启用警告并且您尝试使用未定义的值时,这种情况也会发生在任何其他上下文中。
$ perl -we 'print $ENV{NOT_DEFINED}'
Use of uninitialized value in print at -e line 1.
一些解决方案是
(1) 在使用变量之前定义它
$ perl -we '$ENV{NOT_DEFINED} //= ""; print $ENV{NOT_DEFINED}'
(2) 使用 ||
或 //
运算符替换变量的“默认”值
$ perl -we 'print $ENV{NOT_DEFINED} // ""'
(3) 禁用特定警告
$ perl -we 'no warnings "uninitialized"; print $ENV{NOT_DEFINED}'
(4) 禁用所有警告
$ perl -we 'no warnings; print $ENV{NOT_DEFINED}'
(不要执行#4)。
由于这是 Perl,因此还有多种方法可以实现。
在 Perl <= v5.8 中,您必须使用 ||
和 ||=
而不是 //
和 //=
,其行为有一些细微的不同。
关于eclipse - 如何让 Eclipse/EPIC 停止在我的 Perl 脚本中发出有关 "Use of uninitialized value $ENV{whatever}"的警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6229366/