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. 

Reply via email to