my (@keys, @values1, @values2); my %hash; for (0 .. $#keys) { $hash{$keys[$_]} = [ $values1[$_], $values2[$_] ]; } #### @hash{ @keys } = map { [ $values1[$_], $values2[$_] ] } 0 .. $#values1; #### # Return as an array: @values = @{ $hash{ $key } }; print $values[0]; # Return as an array ref: $values = $hash{ $key }; print $values->[0]; #### @values = @hash{ @keys }; for (@values) { print $_->[0], $_->[1]; }