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 }}}}} #### $matches{>LG_XIV}{0} is: ARRAY(0x182bb14) Use of uninitialized value in print at MyScript line 386. $hit is: $hit is: 6906413 Use of uninitialized value in numeric ge (>=) at MyScript line 388.