my @sortedKeys = sort { $a <=> $b } keys %{ $matches{ $fasta_id } }; for my $site ( @sortedKeys ) { last unless @{ $matches{ $fasta_id }{ $site } }; WEEDLOW: for my $low ( @{ $matchesfasta_id{ $site } } ) { my $lowerlimit = $low + 0; my $upperlimit = $span + $lowerlimit; for my $sitekey ( @sortedKeys ) {