$ ./perl -Ilib -le 'print "aaz" =~ /(?<a>a)(?&a-z/'
a
(?&name) was actually allowing any non-word character to terminate it.
parenthesis. Embedded parentheses aren't allowed. See
L<perlre>.
+=item Sequence (?&... not terminated in regex; marked by S<<-- HERE> in
+m/%s/
+
+(F) A named reference of the form C<(?&...)> was missing the final
+closing parenthesis after the name. The S<<-- HERE> shows whereabouts
+in the regular expression the problem was discovered.
+
=item Sequence (?%c... not terminated in regex; marked by S<<-- HERE>
in m/%s/
SIZE_ONLY ? REG_RSN_RETURN_NULL : REG_RSN_RETURN_DATA);
num = sv_dat ? *((I32 *)SvPVX(sv_dat)) : 0;
}
+ if (RExC_parse == RExC_end || *RExC_parse != ')')
+ vFAIL("Sequence (?&... not terminated");
goto gen_recurse_regop;
assert(0); /* NOT REACHED */
case '+':
'm/\87/' => 'Reference to nonexistent group {#} m/\87{#}/',
'm/a\87/' => 'Reference to nonexistent group {#} m/a\87{#}/',
'm/a\97/' => 'Reference to nonexistent group {#} m/a\97{#}/',
- 'm/(*DOOF)/' => 'Unknown verb pattern \'DOOF\' {#} m/(*DOOF){#}/'
+ 'm/(*DOOF)/' => 'Unknown verb pattern \'DOOF\' {#} m/(*DOOF){#}/',
+ 'm/(?&a/' => 'Sequence (?&... not terminated {#} m/(?&a{#}/',
);
my @death_utf8 = mark_as_utf8(