use strict; use warnings; use Data::Dumper; my @keys = (1 .. 6); my @values = map $_ + 3, 0 .. $#keys; my %hash; @hash{@keys} = @values; print Dumper \%hash;