First, a slight clarification: if I say: m:w/ %foo := [ (\w+) = (\w+) [ , (\w+) ]* ] /
does this give me a hash of arrays? (i.e. is the rhs of a hash processed as a scalar context) When I look at this, I see a common pattern: the join/split concept. It feels like there should be a standard assertion: m:w/ %foo := [ (\w+) = <split , (w+)> ] / .. Another useful assertion might the the long form of <m,n> repeat count: m:w/ @list := (\w+) <repeat grep { even } 0..Inf> ] / to match an even number of words. And a question about <m,n> (I think something similar came up a few weeks ago): why isn't it <m..n>, i.e. a list of the numbers of matches allowed. This seems to be the only place in perl6 where a list of numbers, as a range, isn't constructed using the .. operator. Dave. -- Dave Whipp, Senior Verification Engineer, Fast-Chip inc., 950 Kifer Rd, Sunnyvale, CA. 94086 tel: 408 523 8071; http://www.fast-chip.com Opinions my own; statements of fact may be in error.