Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re: On Compilation, Call Trigger Policy: Now vs Inline

by sh1tn (Priest)
on Dec 06, 2007 at 13:45 UTC ( #655400=note: print w/replies, xml ) Need Help??

in reply to On Compilation, Call Trigger Policy: Now vs Inline

It is written:If you think of an eval STRING as a call back from the interpreter to the compiler, then you might think of a BEGIN as a call forward from the compiler into the interpreter. Both temporarily put the current activity on hold and switch modes of operation.

Pretty self-explanatory.
print "start main running here\n"; eval "BEGIN{print qq(BEGIN: before eval compilation at run-time +\n)} END{print qq(END: from eval STRING\n)}"; eval {BEGIN{print qq(BEGIN: before eval compilation at compile-t +ime\n)} END{print qq(END: from eval BLOCK\n)}}; END { print "END: done running\n" } BEGIN { print "BEGIN: still compiling\n" }

Replies are listed 'Best First'.
Re^2: On Compilation, Call Trigger Policy: Now vs Inline
by ian (Beadle) on Dec 06, 2007 at 17:26 UTC
    I'm in agreement about the straightforwardness of call back and call forward with respect to interpreter->compiler and compiler->interpreter; it's the difference between the call trigger policy of "Now" vs "Inline" that's confusing to me. Is it merely that BEGIN is always triggered at the beginning of the line versus an eval which can be triggered anywhere within one?
    -- Ian Tegebo

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://655400]
[Corion]: ambrus: Most of our "automation" is tied to process exit codes and a shell pipeline :-\
[LanX]: ... a week later they realized that one of the databases - which recorded how much the other banks due to this bank - was not correctly plugged
[ambrus]: Corion: I have no problem with exit codes and shell pipeline. My problem is that the current process requires a lot of manual intervention from me, including editing the source codes.
[ambrus]: (Also a lot of manual intervention by two or three other co-workers, who do other parts of the process.)
[ambrus]: Some of the manual part is unavoidable, but not all.
[choroba]: LanX was there a way to recover the numbers from the remaining information?
[Corion]: LanX: Ow ;)

How do I use this? | Other CB clients
Other Users?
Others cooling their heels in the Monastery: (11)
As of 2017-03-29 11:58 GMT
Find Nodes?
    Voting Booth?
    Should Pluto Get Its Planethood Back?

    Results (350 votes). Check out past polls.