eclipse - 如何让 Eclipse/EPIC 停止在我的 Perl 脚本中发出有关 "Use of uninitialized value $ENV{whatever}"的警告?

标签 eclipse perl warnings initialization

当 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/

相关文章:

c++11 - 禁用 clang C++11 警告

java - Selenium 和 Eclipse_java 以及 firefox 测试问题

java - 为什么我在不使用它时会收到 SLF4J 错误?

regex - 如何让我的 Perl 正则表达式不使用插值变量中的特殊字符?

perl - 如何在 Perl 中以 DDMMYY 格式获取文件的修改日期?

linux - cron 作业之一未运行

C++获取临时地址

java - Hibernate-无法加载 Hibernate 配置 </mapping> 条目中声明的类

java - Eclipse Oxygen/Neon 和 groovy - 这可能吗?

powershell - 在 PowerShell 中如何将错误、警告、写主机输出捕获到单个文件中?