使用する前にハッシュキーが存在するかどうかを最初に「テスト」するためのより良い方法を探しています。私は現在、16進数を文字列にデコードするイベントログパーサーを書いています。デコードテーブルに16進数が含まれていることを確認できないため、新しい変数に値を割り当てる前に、まずキーがハッシュに存在するかどうかを確認する必要があります。だから私がたくさんやっていることは:
if ($MEL[$i]{type} eq '5024') {
$MEL[$i]{decoded_inline} = $decode_hash{checkpoint}{"$MEL[$i]{raw}[128]"}
if exists ($decode_hash{checkpoint}{"$MEL[$i]{raw}[128]"})
}
私が気に入らないのは、式$decode_hash{checkpoint}{"$MEL[$i]{raw}[128]"}
が私のコードに2回含まれていることです。上記の行のより良いまたはより短いバージョンはありますか?