2013-07-04 23 views
6

値がほとんど整数であるものの、未定義のものがあります。私はforループを使用してこれらの未定義の値をすべてゼロに設定したいと思います。または、より洗練された方法で行うことをお勧めします。誰かが解決策を提案できますか?定義されていないハッシュ値のデフォルト設定

+0

「エレガントな」心配はありません。あなたに合ったコードを書いてください。 – ysth

+2

@ysth imho、OPが「エレガント」なことを尋ねるとき、_heはそれを自分のやり方で書く方法を知っていますが、効果的なway_。 +1これらの質問:) – jm666

+0

これは本当にあなたのハッシュが最初に建てられたときに行う必要があります。 – Borodin

答えて

11

どちらの方法は、変数が未定義の場合、

for my $key (keys %hash) { 
    $hash{$key} //= 0; 

} 

$_ //= 0 for values %hash; 

//=オペレータ試験のforeachを使用して、それがある場合に新たな値を代入しています。

+0

素晴らしいです、ありがとうございます! –

関連する問題