Remember that
= is an
assignment operator, not an addition or concatenation operator. When you use it, you are telling Perl to set the left-hand side
equal to the right-hand side. All entries in the hash will be replaced.
You have two options: You can either iterate through the replacement key/value pairs and set the $hash{$key} = $value, or if your list of keys and values are known ahead of time, a hash slice might let you make a change to a group of hash entries with one statement (e.g. @hash{@new_keys} = @new_values).