while ($str =~ /(?=(\w{3}bc\w{2}))/g) { print "$-[1],$+[1],$1\n"; }