Use Hash::Util::FieldHash or ties, depending on availability