2011-06-03 31 views
2

EPIC在Perl腳本中首次遇到特殊的%ENV變量時,它會出現在Eclipse文本編輯器中。 我在這個環境中沒有運行任何東西,我只想讓警告消失。

我在「運行配置」部分弄亂了周圍,但這似乎沒有幫助。

更新1:所有這些答案都是關於更改代碼,這不應該是必要的。是的,如果我取消設置環境變量,則可以在命令行上發生相同的錯誤。但我想在Eclipse中定義環境變量,以匹配正常的命令行環境,這樣就不會發生警告。我試着在Eclipse的「運行配置」中定義它,但它似乎不起作用。

我也嘗試在〜/ .bashrc和相關位置設置變量,併爲設置變量的Eclipse創建啓動腳本。這些都沒有解決警告。

我可以通過右鍵單擊並選擇「源」然後選擇「清除所有EPIC標記」來使警告消失,但下次文件更改時再次出現警告。

更新2:如果我在運行配置中定義環境變量,然後運行腳本,它會越過這些行。然而,在我編輯時,仍然在文本編輯器窗格中顯示一條扭曲的紅色下劃線和警告 - 這是我想擺脫的警告。

回答

-1

不知道這是否會幫助,但嘗試添加:

our %ENV 

...第一次使用%ENV之前。

[編輯:我假設相關的環境變量定義的,而這個錯誤來自IDE。再次想到,也許這是一個可憐的假設。]

0

在啓動之前定義環境變量或修復代碼,使其不發出警告。如果包含整個警告,您可能會得到更多有用的建議,以便讀者知道它來自哪裏。

4

當發生警告並嘗試使用未定義的值時,也會在其他任何情況下發生。

$ 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,你必須使用||||=代替////=,其中有一些微妙的不同行爲。

+0

或更換'$ VAR // 「默認」'和'定義($ VAR)? $ var:「default」',這是...好吧,我猜想更加微妙地不同,但實際上是相同的。 – hobbs 2011-06-03 16:04:54

相關問題