use strict; use warnings; use Data::Dumper; my @array=(0,0,0); my %hash=('a'=>1 , 'b' =>2 , 'c'=>3,); my @values=keys%hash; @hash{@values}=@array; print Dumper \%hash;