Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

Re^2: Why is the execution order of subexpressions undefined?

by Anonymous Monk
on Apr 12, 2005 at 13:22 UTC ( [id://446977]=note: print w/replies, xml ) Need Help??


in reply to Re: Why is the execution order of subexpressions undefined?
in thread Why is the execution order of subexpressions undefined?

Perl somehow knows what the execution order should be!
Eh, no. That's perl that knows, for a particular version of perl. The fact that it isn't defined in the language may mean that a next version may do it differently.
they are implied by the rules of precedence and associativity in perlop.
Eh, no. The rules of precedence and associativity only deal with parsing the language. They do not imply order of evaluation. The rules of precedence say that value of the expression:
E1 + E2 * E3
is calculated by multiplying the result of E2 and E3, and adding that to E1. It doesn't say E2 needs to be evaluated before E1 or E3. And indeed, current perl doesn't. In fact, it will evaluate E1, E2 and E3 in the same order as:
E1 * E2 + E3
even if the precedence of + and * are different.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://446977]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others wandering the Monastery: (1)
As of 2024-04-25 00:41 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found