http://qs1969.pair.com?node_id=411334


in reply to Re^3: Mysterious "syntax error"
in thread Mysterious "syntax error"

That appears to be deciding how to interpret a bareword, not a '{'. I quickly looked but didn't find the code for guessing at the meaning of a '{', though.

Actually, I'd like to see merlyn download the source from one of those 150 locations and show us how easy it is to find and interpret this code. (:

- tye        

Replies are listed 'Best First'.
Re^5: Mysterious "syntax error"
by BrowserUk (Patriarch) on Dec 01, 2004 at 01:22 UTC

    Your right. Seems I missed a level of identation (easily done in that source). I also missed another, rather more obvious clue:

    # toke.c:3207 (5.8.5) /* This hack serves to disambiguate a pair of curlies * as being a block or an anon hash. Normally, expectation * determines that, but in cases where we're not in a * position to expect anything in particular (like inside * eval"") we have to resolve the ambiguity. This code * covers the case where the first term in the curlies is a * quoted string. Most other cases need to be explicitly * disambiguated by prepending a `+' before the opening * curly in order to force resolution as an anon hash. * * XXX should probably propagate the outer expectation * into eval"" to rely less on this hack, but that could * potentially break current behavior of eval"". * GSAR 97-07-21 */

    Examine what is said, not who speaks.
    "But you should never overestimate the ingenuity of the sceptics to come up with a counter-argument." -Myles Allen
    "Think for yourself!" - Abigail        "Time is a poor substitute for thought"--theorbtwo         "Efficiency is intelligent laziness." -David Dunham
    "Memory, processor, disk in that order on the hardware side. Algorithm, algorithm, algorithm on the code side." - tachyon