my @names = qw/ foo bar baz /; my @values = (1,2,3); my %hash; @hash{ @names } = @values; use Data::Dumper; print Dumper \%hash; __END__ $VAR1 = { 'bar' => 2, 'baz' => 3, 'foo' => 1 };