我正在寫一個perl腳本,需要在調用外部程序之前設置一些環境變量。我的代碼的形式Perlcritic:我該如何解決'^魔術變量「ENV」應該被分配爲「本地」?
$ENV{'VAR1'} = "value1";
$ENV{'VAR2'} = "value2";
當通過perlcritic運行此,我得到一個嚴重違反4爲每個這樣的assignement:
^Magic variable "$ENV" should be assigned as "local"
谷歌搜索該錯誤消息並沒有給我什麼好的解決辦法。在這種情況下抱怨的違規違規行爲是Variables :: RequireLocalizedPunctuationVars,並且給出的示例涉及本地化文件句柄。我試圖找到Perl最佳實踐中的相關部分,但它只談及本地化軟件包變量。
我試過的一個解決方案是在賦值之前使用以下語句對%ENV進行本地化。
local %ENV =();
這並不能解決違規問題。
我的問題是:
那是Perlcritic違反即使分配到%ENV有關,或者我可以忽略它?
如果相關,解決問題的最佳方法是什麼?
choroba的建議確實使警告無聲,所以我現在很好走。 – alisea 2015-04-02 07:12:39