On Mon, May 09, 2005 at 11:02:58AM -0500, Patrick R. Michaud wrote:
> On Mon, May 09, 2005 at 09:47:14AM -0600, Paul Seamons wrote:
> > > =item *
> > >
> > > Quantifiers (except C<?> and C<??>) cause a matched subrule or subpattern
> > > to
> > > return an array of C<Match> objects, instead of just a single object.
> >
> First, I much prefer an alternate wording to Damian's:
>
> The C<*>, C<+>, and C<**{...}> quantifiers all produce an array
> of C<Match> objects instead of just a single object.
Perhaps better is:
The C<*>, C<+>, and C<**{...}> (but not C<?> or C<??>) quantifiers
cause a matched subrule or subpattern to return an array of C<Match>
objects, instead of just a single object.
And since I've noticed that a lot of people who see this document
end up asking about the relationship between C<?> and C<**{0..1}>,
perhaps we should just put an explicit note in there somewhere
about it. For example, at the end of the section we could say
something like:
Note that the C<?> and C<**{0..1}> both mean "match zero or one
occurrence", but C<?> always produces a single C<Match> object
(which may be an unsuccessful match) and C<**{0..1}> always
produces an array of C<Match> objects (which will likely be
empty for an unsuccessful match).
Pm