http://qs321.pair.com?node_id=658449


in reply to Quantified named captures in 5.10

I guess I wouldn't expect the addition of named captures to change how captures work in regexes. Just because the capture variable has a name does not mean that the () or a+ semantics have changed.

The pre-5.10 version looks like this (I've added a term to show the singularness of captures.

my $str = 'Digits: 123689 abc'; if ($str =~ m{Digits: \s* (\d)+ \s+ (\w+) }x) { print 'Digits: ', $1, ' ', $2, $/; } __OUTPUT__ Digits: 9 abc
With the numeric "names" for captures, it seems natural that there's only one slot. Adding a + to the capture does not add more capturing group instances to the system. There's one actual set of parentheses, so there's one actual capture.

--
[ e d @ h a l l e y . c c ]