use strict; my (%hash,@array); $hash{A}='B'; push @array,\%hash; #### x @array 0 HASH(0x300331c4) 'A' => 'B' #### $hash{B}='C'; push @array, \%hash; #### x @array 0 HASH(0x300331c4) 'A' => 'C' 1 HASH(0x300331c4) -> REUSED_ADDRESS #### use strict; my (%hash,@array); $hash{A}='B'; push @array, \%hash; my (%hash); $hash{A}='C'; push @array, \%hash; #### x @array 0 HASH(0x30033194) 'A' => 'B' 1 HASH(0x3015f4e0) 'A' => 'C'