beri beri ^, then '(hana)' fails. Fail. #### hana bbs ^(hana) (bbs), then '\2' fails. Backtrack; ^(hana)\2, then '\1' fails. Fail. #### 'beriberi' =~ m#^(beri)(bbs)?(?(2)\2\1|\1)$#; #### beri beri ^(beri)(bbs)?\1 $ Match. #### 'beribbsbbsberi' =~ m#^(beri)(bbs)?(?(2)\2\1|\1)$#; #### beri bbs bbsberi ^(beri)(bbs)?\2 \1 $ Match.