So why can't they go just about anywhere before another delimiter, since everyting is a (sub) expression?IANALG1 so take this with a pinch of salt :)
Semi-colons can be put after ever statement, but not every expression. If you were to put semi-colons after every expression the you couldn't build up larger expressions e.g
So when B::Deparse sees your code it (roughly) breaks it down into the following# exp # exp and exp # ( (exp || exp) and (exp || exp)) foo() || $bar->() and $baz || @quux;
Hopefully that clears things up. I've updated my original reply as well to be a little clearer on the issue.print *{ # beginning of glob dereference ${ # beginning of scalar derference $x # scalar statement to be dereferenced } # end of scalar dereference {$y} # glob statement to be dereferenced (+ ${$x} ) } # end of glob statement to be dereferenced {SCALAR} # glob slot and end of print statement
_________
broquaint
1 I Am Not A Language Guru
In reply to Re: Re: Re: (another?) Deparse bug
by broquaint
in thread (another?) Deparse bug
by John M. Dlugosz
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |