#!/usr/bin/perl use warnings; use strict; #seting up your things #$barcode_hash{$prim_pair_number} = [ $fowprim, $revprim, $bc_pair, $bc_pair_num ]; my %VAR1 = ( '1' => [ 'AGCTCGTTGTTCGATCCA', 'GAGAGATAGATGATAGTG', 'TTTT_CCCC', 0 ], '2' => [ 'AGCTCGTTGTTCGATCCA', 'GAGAGATAGATGATAGTG', 'TTTT_AAAA', 0 ] ); my $barcode_pair_35 = 'TTTT_CCCC'; #for each key in the hash, if the 3rd element (i.e. index 2) is equal to $barcode_pair_35, #then incriment the 4th element (i.e. index 3) and print that you found it. foreach my $prim_pair_num (sort keys %VAR1){ if($VAR1{$prim_pair_num}[2] eq $barcode_pair_35){ $VAR1{$prim_pair_num}[3]++;print "found it\n";print $VAR1{$prim_pair_num}[3]."\n"; }#endof if }