Could you please show a use case where you want to avoid backtracking into a once matched group (thats what atomic/possessive is about)
answering your question
> Is it true that ($match){1}+ equals to simply $match?
No!
DB<125> $_ = "a"x5 => "aaaaa" DB<126> $match = "(a+)" => "(a+)" DB<128> $_ =~ /${match}a/ => "aaaa" DB<129> $_ =~ /${match}{1}a/ => "aaaa" DB<130> $_ =~ /${match}{1}+a/ DB<131> $_ =~ /(?>${match})a/ DB<132>
It seems to show that perlre is wrong with the redundant anotation.¹
Answering your root question, IMHO using + as a second quantifier like in a++ only makes sense if you already need to use a first quantifier in the first level of interpolation, like in
($pat1)++($pat2)*+
i.e. + and * are not part of a sub-pattern $patN.
Otherwise I'd always prefer
(?>$pat1)(?>$pat2)
using something like ($pat){1}+ seems quite confusing for me.
Cheers Rolf
(addicted to the Perl Programming Language and ☆☆☆☆ :)
Je suis Charlie!
¹) if "redundant" is supposed to mean line 131 and 130 are equivalent, then redundant is a misleading wording
In reply to Re^4: about style: use possessive or atomic?
by LanX
in thread about style: use possessive or atomic?
by rsFalse
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |