Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re: What is an ordinary statement?

by ikegami (Patriarch)
on Jun 08, 2019 at 10:19 UTC ( [id://11101121]=note: print w/replies, xml ) Need Help??


in reply to What is an ordinary statement?

What is an ordinary statement?

"Like an ordinary statement" means "like any other statement". The documentation is signaling that variable declarations are not special like they are in some other languages. For example, C used to require them to precede any other statements.

What are the run- and compile-time effects of this statement?

The make-belief version: my declares the variable at compile-time, and allocates it at run-time.

The true version: my declares and effectively allocates the variable at compile-time, and pushes a directive on the stack at run-time. When that directive is popped from the stack on scope exit, the variable is either cleared (if it doesn't contain an object and the sub owns the only reference to it), or it's abandoned[1] and re-allocated (otherwise).


1. By this, I mean the reference count of the variable is decremented, possibly freeing it.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (4)
As of 2024-04-23 06:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found