my @hash_keys = qw(keyone keytwo keythree); my @hash_vals1 = qw(val1 val2 val3); my @hash_vals2 = qw(val4 val5 val6); my %the_hash; $the_hash{ $hash_keys[$_] } = [ $hash_vals1[$_], $hash_vals2[$_] ] for ( 0 .. $#hash_keys ); __END__ %the_hash = ( keyone => [ qw(val1 val4) ], keytwo => [ qw(val2 val5) ], keythree => [ qw(val3 val6) ] );