我想从一个哈希中删除某些键/值对,但我得到的全局符号需要显式包名异常,我不知道如何调试这个。我读了一些解决方案,但他们都没有工作。从Perl中删除键/值对结果全局符号需要明确的包名错误
my $hash = foo();
然后我经过哈希使用此行代码:
while (my ($key, $value) = each %$hash)
和我选择值块,我不想和储存所以哈希以这种方式宣告
my @keysArray =();
我然后访问阵列使用此代码,以便可以通过散列删除它们以检索键::用于在阵列中这些值被声明这样的(当然在循环之前)键
for my $key (@keysArray){
delete $hash{$key};# this line of code is causing the problem
}
我写的最后一行是引起全局符号“%hash”的那一行,它需要明确的包名称异常。
任何修复或我在这里做错了什么。
P.S.我更改了变量名称并删除了其他内部代码,但格式相同。
请帮忙! 谢谢。
从看来你正在做的错误消息 “使用严格的;” ,这是一件好事。我假设你正在做“使用警告”;以及。 – zgpmax
没有警告,但我得到了我正在寻找的答案(它在下面)。 – Nabou