http://qs321.pair.com?node_id=11138559


in reply to Re^2: Indirect Object Syntax
in thread Indirect Object Syntax

> Anyway, Perl should check for the missing comma. I suppose this happens too late for the parser.

IIRC, the parser can only check the following token when deciding whether the { starts a block or an anonymous hash. That's also why the ; helps.

map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]

Replies are listed 'Best First'.
Re^4: Indirect Object Syntax
by LanX (Saint) on Nov 08, 2021 at 00:00 UTC
    yeah, that's what I meant with

    > I suppose this° happens too late for the parser.

    °) i.e. the comma

    edit

    Anyway: any correctly parsed LIST inside an {anonymous hash} is also a legal block (just the LIST returned)

    Perl could always try to parse a block and look if there is a comma following.

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery