About a table for lexing : this is irrelevant to the discussion. Also, lexing can be more complex than matching. Yes, one can insert regular code in regex but that the sign that a table based lexing is not appropriate.
As I said tye, using for is the right way to alias to $_. I don't like it because in the programming space, for is a loop... for me. :)
In the natural language space, well, English is not my first language.So to paraphrase Churchill, for is the worst solution, but it is the only one.
Hopefully, like said TimToady, Perl6 will be cleaner.