Beefy Boxes and Bandwidth Generously Provided by pair Networks
laziness, impatience, and hubris
 
PerlMonks  

Re^4: BEGIN and compile-time (per statement)

by tye (Sage)
on Nov 02, 2006 at 17:25 UTC ( [id://581929]=note: print w/replies, xml ) Need Help??


in reply to Re^3: BEGIN and compile-time
in thread BEGIN and compile-time

but the more correct way is to think of run-time and compile-time as a per-block thing.
(Per-statement, even, in the case of use.)

More than just in the case of use. Certainly "my" statements have separate compile-time and run-time effects. "sub" declarations also have a compile-time impact as do "package" statements (as demonstrated in Object lesson). There may be others as well that just don't spring immediately to my mind.

See Re^5: What is the scope of BEGIN? Or... when does it "begin?" (steps). Each statement has one "compile time" and zero or more "run times". I never talk about the one "compile time" or the one "run time" as that makes no sense to me. I'd not say '"Run phase" starts', for example.

There is behavior that is triggered between when the main script source code has finished being compiled and the resulting non-sub code begins to be run. (Since I've never found a need to use CHECK / INIT blocks, I've never bothered to figure out and internalize how they are really scheduled, however.) But it makes no sense to me to say "CHECK code blocks are run [...] before run time begins" when lots of code has already seen its "run time" (and been run) before that.

- tye        

Replies are listed 'Best First'.
Re^5: BEGIN and compile-time (per statement)
by ikegami (Patriarch) on Nov 02, 2006 at 17:37 UTC

    I'd not say '"Run phase" starts', for example.

    Notice the quotes. I included it to show how meaningless/misleading the term is, showing stuff being run before this so-called "runtime" phase. Thanks for the clarification.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others making s'mores by the fire in the courtyard of the Monastery: (6)
As of 2024-03-28 19:20 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found