On Thu, Aug 10, 2000 at 10:16:12AM +0200, Johan Vromans wrote: > > "(" (.) group(1, [[ 'a' .. 'z' ]] (*) [3,5] ) (.) ")" > > > > here (.) is the ASCII substitution for the UNICODE "REx concatenate" > > char, similarly for [[. ]] and (*). (The chars may be borrowed from > > the math repertoire.) > > Hmm. Looks nice. How about pattern functions, e.g., > > sub match_all : pattern { > "(" . group(1, [ 'a' .. 'z' ] * [3,5] ) . ")" > } These are just user-defined ops. You should be able to overwrite the normal ops, as in: sub match_all { use re_ops 'overload_usual_ops'; "(" . group(1, [ 'a' .. 'z' ] * [3,5] ) . ")" } Will this go? Ilya P.S. > Variable interpolation can be handled using Damian's curried expressions. On XRay: Summary for query "curried;Damian": found 0 matches in 0 files.