【发布时间】:2013-04-09 09:27:21
【问题描述】:
当我运行下面的代码时,我收到警告“在列表赋值中使用未初始化的值”:
local %ENV = ();
%ENV = foo(); //foo returns a hash
%ENV 的转储结果为:
{
'KEY1' => '-',
'KEY2' => '-',
}
但警告不断出现在%ENV = foo() 行;
谢谢!
【问题讨论】:
-
添加
foo()的代码 -
@NathanielWaisbrot 感谢您的建议。 foo() 相当复杂,所以我添加了 ENV 的结果。请在问题更新中找到它
-
@Terry 也许你添加了完整的代码并在你的脚本中添加了
use strict; use warnings? -
问题很明显在于您没有发布的代码。由于
foo()很复杂,请将其替换为产生相同输出的虚拟版本。例如sub foo { return ('KEY1'=>'-','KEY2'=>'-'); }。然后发布围绕错误的所有代码,包括您的转储语句。
标签: perl local initialization