ハッシュから特定のキーと値のペアを削除しようとしていますが、グローバルシンボルに明示的なパッケージ名例外が必要です。これをデバッグする方法。私はいくつかの解決策を読んだが、どれもうまくいかないようだ。だから、ハッシュは、このように宣言されています。グローバルシンボルの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