special character to match a valid expression

[email protected] ("David L. Nicol") Mon, 11 Sep 2000 13:42:34 -0500
Newsgroups perl.perl6.language.regex
Organization University of Missouri - Kansas City supercomputing infrastructure
Message-ID <[email protected]>

Thinking about the brace matching problem, regarding the specific
problem of writing a regex to match any valid specification of
a scalar written like 

	${expression returning name or reference goes here}

I realized that no amount of lookahead is going to be without possible
problems.

So why not give up and try another direction?  A special backslash
assertion that matches ___> a valid perl expression which appears as if
it would return a value <___ would be just the thing.

We could call it \v for valid, and it would match as far as it could get
in validity.

	($Name_Of_The_First_Interpolable_Scalar) = m/\$(\w+|(\{\v\}))/;


It's opposite, \V, is something I'd like to know more about before submitting
a RFC on this idea.  Would it be greedy?  Would it require a quantifier, matching
dot for that many, and then validate the results?  Maybe it should be left undefined:
can anyone come up with a situation in which you'd want to match all the characters
that were not syntactically valid, or match up to the last token that would match all
the previous brackets?


-- 
                          David Nicol 816.235.1187 [email protected]
           perl -e'map{sleep print$w[rand@w]}@w=<>' ~/nsmail/Inbox