my ($loc, %location) = -1; for ($quart1, $quart2) { # or better, @quart while (-1 != $loc = index $sequences, $_, $loc + 1) { push @{$location{$_}}, $loc; } }