David Helgason wrote: > [worry #1] > The hypothetical 'variables' we bind to aren't really variables but keys to a hash.
Welcome to Perl 6. Where *no* variable is really a variable, but all are keys to a hash (which is known as the symbol table) ;-) > Thus they shouldn't have sigils in their names at all. But they do in the Perl 6 symbol table. > Then maybe we could differentiate between building a match object and > capturing data into variables that are defined in a higher scope. > > So > > /^ <hunks> $ / > (or alternately (the binding just changes the name > of the key in the match object)) > /^ myhunk := <hunks> $ / > > and > > /^ $hunk := <hunks> $ / This *is* an interesting point. Allison and I have discussed this point at some length and have come up with a rather neat solution that we'll be discussing with Larry ASAP. I'll report back as soon as I can. > [worry #2] > Since $0 has only a rather vague relation to $1..$n, maybe its name isn't that >relevant. > Especially since we'll be indexing into it all the time. Maybe $MATCH, $RESULT, $RX >.... > (those names aren't convincing me either, sorry). I still think $0 is the right name for it. > If nothing else, this would at least get rid of "one more cryptically named >variable". But only at the expense of adding one more arbitrarily named variable. :-( Damian