my ($span, %matches) = @_; my ($site, $fastaseq, $fasta, $sitekey) = ''; my ($setscounter,$lowerlimit,$upperlimit,$i,$set,$yes,$low,$hit) = 0; my %sets = (); FASTA: for $fastaseq (keys %matches) { $sitekey = ''; SITEKEY: for $sitekey (sort {$a <=> $b } keys %{$matches{$fastaseq}}) { if (@{$matches{$fastaseq}{$sitekey}}) { SET: foreach $hit (@{$matches{$fastaseq}{$sitekey}}) { print "\$matches{$fastaseq}{$sitekey} is: $matches{$fastaseq}{$sitekey}\n"; print "\$hit is: ",$hit,"\n"; print "\$hit is: ",$matches{$fastaseq}{$sitekey}[$hit],"\n"; if ($hit >= $lowerlimit && $hit <= $upperlimit) { #some code }}}}}