You don't give us much code to go on! Maybe you need to invert the hash so that you can do a reverse look up? Something like:
use strict;
use warnings;
use Data::Dump::Streamer;
my %dnaLookup = (
wibble => 'AATCAA 2',
wobble => 'AATCAA 1',
plibble => 'GATCAA 3',
plobble => 'GATCAA 1',
);
my %reverseLookup;
for my $key (keys %dnaLookup) {
my ($dna, $loc) = split ' ', $dnaLookup{$key};
push @{$reverseLookup{$dna}}, [$key, $loc];
}
Dump (\%reverseLookup);
Prints:
$HASH1 = {
AATCAA => [
[
'wibble',
2
],
[
'wobble',
1
]
],
GATCAA => [
[
'plobble',
1
],
[
'plibble',
3
]
]
};
Perl reduces RSI - it saves typing
|