Hello, While writing an article (in French) about 5.10 regexps, a reviewer found that what I wrote about \k<name> and $+{name} was inconsistent. I reread perlre and perlvar, and it seems that the inconsistency lies in perlvar: perlre/"Capture buffers" says: Outside the pattern, a named capture buffer is available via the "%+" hash. When different buffers within the same pattern have the same name, $+{name} and "\k<name>" refer to the leftmost defined group. and later in the "Extended Patterns" section: (?<NAME>pattern) [...] If multiple distinct capture buffers have the same name then the $+{NAME} will refer to the leftmost defined buffer in the match. [...] \k<NAME> Named backreference. Similar to numeric backreferences, except that the group is designated by name and not number. If multiple groups have the same name then it refers to the leftmost defined group in the current match. But perlvar says: %+ Similar to @+, the %+ hash allows access to the named capture buffers, should they exist, in the last successful match in the currently active dynamic scope. Now, if I understand correctly, perlre says that \k and %+ refers to the leftmost, IOW the *first* successful match, while perlvar says that %+ refers to the *last* successful match. Or am I misunderstanding something? -- Sébastien Aperghis-Tramoni Close the world, txEn eht nepO.Thread Next