G'day pmpmmpmp,
"... if you want to search a hash for a key ... my hash has become more complicated ..."
Presumably you started with a simple hash; you now have a complex data structure called a Hash of Arrays (HoA). See "perldsc - Perl Data Structures Cookbook" for information on processing these, and other, complex data structures.
From your description, you're no longer interested in the keys at all, just the values. You can perform your search and increment with this line:
$_->[2] eq $barcode_pair_35 and ++$_->[3] for values %$VAR1;
Here's my test code:
#!/usr/bin/env perl use strict; use warnings; use Data::Dump; my $VAR1 = { '1' => [ 'AGCTCGTTGTTCGATCCA', 'GAGAGATAGATGATAGTG', 'TTTT_CCCC', +0 ], '2' => [ 'AGCTCGTTGTTCGATCCA', 'GAGAGATAGATGATAGTG', 'TTTT_AAAA', +0 ] }; dd $VAR1; my $barcode_pair_35 = 'TTTT_CCCC'; $_->[2] eq $barcode_pair_35 and ++$_->[3] for values %$VAR1; dd $VAR1;
Output:
{ 1 => ["AGCTCGTTGTTCGATCCA", "GAGAGATAGATGATAGTG", "TTTT_CCCC", 0], 2 => ["AGCTCGTTGTTCGATCCA", "GAGAGATAGATGATAGTG", "TTTT_AAAA", 0], } { 1 => ["AGCTCGTTGTTCGATCCA", "GAGAGATAGATGATAGTG", "TTTT_CCCC", 1], 2 => ["AGCTCGTTGTTCGATCCA", "GAGAGATAGATGATAGTG", "TTTT_AAAA", 0], }
— Ken
In reply to Re: search for particular elements of hash with multiple values
by kcott
in thread search for particular elements of hash with multiple values
by pmpmmpmp
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |