Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re^6: What can we assume in a BEGIN block ?

by leriksen (Curate)
on Oct 05, 2004 at 00:05 UTC ( #396438=note: print w/ replies, xml ) Need Help??


in reply to •Re^5: What can we assume in a BEGIN block ?
in thread What can we assume in a BEGIN block ?

Yep, I think my main problem was understanding what 'parse' meant.

Discussion below uses this code

our $initialised = 0; BEGIN { _initialise(); $initialised = 1; }

Initially (when I didnt understand the problem) I thought the bare (not in a BEGIN) our $initialised = 0; meant 'found a scalar declaration, allocate memory, create an entry in the symbol table that references that location,and put a 0 in that memory location. Now parse and run the BEGIN block, which will result in $initialised having a 1 in it'.

Now I (think/know) it means 'found a scalar declaration, allocate memory, create an entry in the symbol table that references that location,and generate some opcodes that will result in a 0 being put in that location at runtime.Now parse and run the BEGIN block, which will result in $initialised having a 1 in it, which will get clobbered back to 0 by the opcodes at runtime'

Thanx merlyn for taking the time to break this down for me. I hope I have it straight now.

use brain;

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (7)
As of 2016-06-30 19:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My preferred method of making French fries (chips) is in a ...











    Results (403 votes). Check out past polls.