Perl 5.9.5との機能比較(4)
同じ名前を重複して定義した場合の仕様を確認した。
後方参照では、一番左のグループだけを参照する。
"abcb" =~ /(a)(?'name'b)(?'name'c)\k'name'/
鬼車の場合は、グループ番号の大きいものから順番に、マッチングが成功するまで全部参照する。理由があってそうしているという訳でもないので、変更は可能。
次に、呼び出しの場合は、これも一番左のグループを呼び出す。
"abcb" =~ /(a)(?'name'b)(?'name'c)(?&name)/
鬼車の場合はエラーになる。この場合はエラーのほうが良いと思う。もしくは、backtrackしたときに別のグループの呼び出しを順番に試みるという仕様のほうが良いかもしれない。