I have learned today that you could force the regex engine to fail and backtrack, for example with this:
"ABCDEF" =~ /([A-Z]{3})(?{print "$1\n"})(?!)/;
trizen explained to me how this regex worked and this is what I understood:

First it matches ABC, then prints it, then fail, then backtracks to the position where the last match occured + 1.

Then when it runs again, it will match BCD this time. Thus this loop prints:

ABC BCD CDE DEF

However based on this reasoning, I struggle to understand the next example:

"ABCDEF" =~ /(\w{2,}?)(?{print "$1\n"})(?!)/;
Here it matches AB first then prints it, then fails then backtracks. But here, instead of matching BC as I would expect it, it matches ABC. So after failing, it does not backtrack to pos+1 like in the previous example. And the loop prints:
AB ABC ABCD ABCDE ABCDEF BC BCD BCDE BCDEF CD CDE CDEF DE DEF EF
Can someone explain me what is wrong in my assumption?

In reply to regex backtracking question by aeqr

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.