Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
PerlMonks  

The proper use of Safe

by BMaximus (Chaplain)
on Mar 31, 2001 at 03:34 UTC ( #68562=perlquestion: print w/ replies, xml ) Need Help??
BMaximus has asked for the wisdom of the Perl Monks concerning the following question:

Could someone give an example on the proper use of the Safe module. In the Panther book eval allows the use of a variable like so.
my $c; my $ev = '$c = 4 + 5'; eval($ev); print $c;
The printout should be 9. Now when I use Safe on a module it doesn't turn out quite the same way.
my $c; my $cpt = new Safe; $cpt->share('$c'); my $ev = '$c = 4 + 5'; $cpt->reval($ev); print $c;
When $c is printed out its nothing. Whats going on in Safe? Whats an example of its proper use?

My thanks for your enlightenment,
BMaximus

Replies are listed 'Best First'.
Re: The proper use of Safe
by MeowChow (Vicar) on Mar 31, 2001 at 03:46 UTC
    Change your lexical $c to a package global (eg. change 'my' to a 'use vars'), and it will work. The share method, as the documentation states, works on variables in the calling package.
       MeowChow                                   
                   s aamecha.s a..a\u$&owag.print

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others meditating upon the Monastery: (1)
As of 2016-07-31 01:43 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    What is your favorite alternate name for a (specific) keyboard key?


















    Results (269 votes). Check out past polls.