[EMAIL PROTECTED] writes:
: 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.

It's a good thing you said "almost".  Does it parse [*]] correctly?

: Of course, it cheats a great deal by slurring over most of the tokenization
: in the interests of speed.

Ya, a real Perl tokener has to apply operator/term disambiguation to a
great many ambiguous characters.  Some people have proposed to add more
of them.  :-)

Hmm.  What's the dot mean here?

    func ^1.2, 3, 4;

Answer: depends on the prototype of func.

Does Text::Balanced take into account functions declared with a
prototype of ()?

Larry

Reply via email to