http://www.perlmonks.org?node_id=451156


in reply to Re: How to build a hash?
in thread How to build a hash?

No, like an array element ($array[$n]) the accessor of a hash element ($hash{'foo'}) is also an lvalue (basically you can assign a value to it). This method of accessing or modifying one value at a time doesn't affect the rest of the hash.

You can also modify several elements at once using a hash slice, for example
@hash{'foo','bar','baz'} = (1,2,3);
Only when you say %hash are you definitely effecting the entire hash.
%hash = ('foo',1,'bar',2'baz',3); # whole hash overwritten $hash{foo} = 1; # only one element created or modified @hash{@array} = (1,2,3); # only elements specified in @array overwritt +en, or created.