我想從一個哈希中刪除某些鍵/值對,但我得到的全局符號需要顯式包名異常,我不知道如何調試這個。我讀了一些解決方案,但他們都沒有工作。從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