my %HoH; while () { my ($name, $key, $value) = split; $HoH{$name}{$key} = $value; } __DATA__ name key value a b c 1 2 3