##
use strict;
use warnings;
use 5.010;
my $str = 'aaaBBBcccTGAddTGA';
while ($str =~ /\A(?:\w\w\w)*?(TGA)/g) {
say $1;
say pos $str;
}
--output:--
TGA
12
####
use strict;
use warnings;
use 5.010;
my $str = 'aaaBBBcccTGAdddTGA';
while ($str =~ /\A(?:\w\w\w)*?(TGA)/g) {
say $1;
say pos $str;
}