Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
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 wandering the Monastery: (5)
As of 2014-08-31 09:05 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (294 votes), past polls