sub count_support_mismatch { my( $hashref, $arref, $d ) = @_; my $counter = 0; foreach my $key ( keys %{ $hashref } ) { my $ar = $hashref->{$key}; my @match_list; print join( '|', @{ $ar } ) . "\n" . join( '|', @$arref ) . "\n"; foreach my $elem ( @{ $ar } ) { foreach my $q ( @$arref ) { print "Hamming '$elem' <=> '$q'\n"; my $dist = hd( $elem, $q ); if( $dist <= $d ) { #print "$q - $_\n"; push @match_list, $elem; } shift @{ $ar }; # Part that alter hash } } $counter++ if @match_list; } return $counter; }