my @array = ('a'..'z'); my @slice = @array[4..13]; #### my @keys = qw(foo bar baz); my @values = qw(one two three); my %hash; # have to declare first! @hash{@keys} = @values; # notice the @ instead of % use Data::Dumper; print Dumper \%hash; __END__ $VAR1 = { 'foo' => 'one', 'baz' => 'three', 'bar' => 'two' };