Beefy Boxes and Bandwidth Generously Provided by pair Networks
Keep It Simple, Stupid
 
PerlMonks  

Re^2: eval('__PACKAGE__') is always main?!!!

by gaal (Parson)
on Dec 24, 2004 at 07:01 UTC ( #417269=note: print w/ replies, xml ) Need Help??


in reply to Re: eval('__PACKAGE__') is always main?!!!
in thread eval('__PACKAGE__') is always main?!!!

(Following up on a brief CB /msg exchange, that may be interesting to other monks.)

Speaking of documentation only here: I thought "executed within the context of the current Perl program" ought to have trumped eval EXPR's move to main, but as ikegami notes, the statement about context applies only to eval BLOCK.

But eval BLOCK of course does share some (a lot of) state with the main program; there's no new perl interpreter constructed, and the following does change the value of $x in the main program:

perl -le '$x = 42; eval q($x = 6*9); print $x'    # prints "54"

The first thing that needs fixing in this case appears to be the docs.


Comment on Re^2: eval('__PACKAGE__') is always main?!!!
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://417269]
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: (5)
As of 2014-09-17 00:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    How do you remember the number of days in each month?











    Results (55 votes), past polls