> > * The match operator, C<m>, is always required (bare C<//>
> > becomes a fatal error).
>
> I could live with that. Damian's done some work trying to tokenize
> Perl and knows what the weird edge cases are. Damian, can you post
> your short list?
Bare C</.../> and bare C<?...?> *are* the main culprits. They require
the tokenizer to track expression semantics so that when it encounters a
'/' or '?' it can tell whether a pattern is plausible in this place or
whether they've reached a division or hook operator, respectively.
In fact, these two cases are the *only* semantic contexts that
Text::Balanced has to track in order to parse almost any Perl code. Of
course, it cheats a great deal by slurring over most of the tokenization
in the interests of speed.
Damian