in reply to Re^4: parser bug handling 'do ($foo)->{bar}' ?
in thread parser bug handling 'do ($foo)->{bar}' ?

I do understand. I think too that it would be more intuitive for do EXPR; to be parsed as eval EXPR; but I'll sleep better for having an idea of where the difference comes from :).

  • Comment on Re^5: parser bug handling 'do ($foo)->{bar}' ?

Replies are listed 'Best First'.
Re^6: parser bug handling 'do ($foo)->{bar}' ?
by LanX (Saint) on Oct 14, 2014 at 16:30 UTC
      > But actually this helps fixing the bug in B::Deparse, cause the handling of other pseudofunctions could be mimicked for do FILE .

      or we're going to identify a whole new problem group ;´D

      $ perl -MO=Deparse -e '(-s "foo")+100' -s('foo') + 100; -e syntax OK $ perl -w -MO=Concise -e '(-s "foo")+100' Useless use of addition (+) in void context at -e line 1. 7 <@> leave[1 ref] vKP/REFC ->(end) 1 <0> enter ->2 2 <;> nextstate(main 1 -e:1) v:{ ->3 6 <2> add[t2] vK/2 ->7 4 <1> ftsize[t1] sKP/1 ->5 3 <$> const[PV "foo"] s ->4 5 <$> const[IV 100] s ->6 -e syntax OK $ perl -w -MO=Concise -e '-s ("foo")+100' 7 <@> leave[1 ref] vKP/REFC ->(end) 1 <0> enter ->2 2 <;> nextstate(main 1 -e:1) v:{ ->3 6 <1> ftsize[t2] vK/1 ->7 5 <2> add[t1] sK/2 ->6 3 <$> const[PVNV "foo"] sP ->4 4 <$> const[IV 100] s ->5 -e syntax OK

      Cheers Rolf

      (addicted to the Perl Programming Language and ☆☆☆☆ :)

      perlglossary was imported from the Camel III (with permission) so sometimes has terminology differences from the rest of the perldoc.
      A math joke: r = | |csc(θ)|+|sec(θ)| |-| |csc(θ)|-|sec(θ)| |