http://www.perlmonks.org?node_id=377865


in reply to More efficient way to lookup with 2 AoA's.

I wrote something up, but Zaxo (and now rir) beat me to the punch, so instead here's some code to convert your arrays into a single hash:

my %gene = (); foreach (@gene_score) { $gene{$_->[0]}->{score} = $_->[1]; } foreach (@gssc) { $gene{$_->[0]}->{start} = $_->[1]; $gene{$_->[0]}->{stop} = $_->[2]; $gene{$_->[0]}->{chr} = $_->[3]; }

Now %gene looks like:

%gene = ( gene_name_0 => { score => 'score_0', start => 'start_0', stop => 'stop_0', chr => 'chr_0' }, gene_name_1 => { score => 'score_1', ... );

Brad