我正在写一个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