my %h; my @cols = qw( a b c d ); @h{@cols} = split ' ', 'does this do it?'; use Data::Dumper; print Dumper \%h; __DATA__ $VAR1 = { 'a' => 'does', 'b' => 'this', 'c' => 'do', 'd' => 'it?' };