On Thu, 4 Jul 2002, Ashley Winters wrote:
: On Thursday 04 July 2002 10:47 am, Larry Wall wrote:
: On Thu, 4 Jul 2002, Ashley Winters wrote:
: So I'd guess that we just don't talk about :-1, but rather say that
:
: *$min..$max
:
: is naturally greedy, and as with any quantifier you write
:
: *$min..$max?
:
: to get minimal matching.
:
: I would expect /a*1..2?/ to mean /[a*1..2]?/ just looking at it. How can ?
: ever mean non-greedy unless it follows a metachar [*+?]?
Well, that's exactly how {1,2}? works in Perl 5, and {1,2} isn't a metacharacter.
It is, however, a quantifier.
In general, it makes no sense to put the quantifier ? after a zero-width
assertion. It'd mean Check this assertion but I don't care if it matches.
: But sigh, it would fix so many novice bugs to make minimal matching
: the default...
:
: I agree wholeheartedly. *sigh*
I wasn't seriously proposing it, of course, since it would instead
inspire a whole new set of novice bugs:
Gee, how come this:
my ($num) = /(\d*)/
always sets $num to zero?
We'll stick with greedy matching by default, and take our current
set of lumps...
Larry