I couldn't get this line in the 3rd code block
@hash{@array} = ();

hash is defined with % in the previous line (%hash) and then it is seen with @ which is meant for array. Can somebody explain me, what exactly "@", prepended to hashname, does?