Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

•Re: when eval corrupts the invoker

by merlyn (Sage)
on Jun 24, 2002 at 23:40 UTC ( #176987=note: print w/ replies, xml ) Need Help??


in reply to when eval corrupts the invoker

Well, anybody can put unlink $0 in their synopsis section. Or even system "rm","-rf",$ENV{HOME}. You really should be using Safe instead of eval.

-- Randal L. Schwartz, Perl hacker


Comment on •Re: when eval corrupts the invoker
Re: •Re: when eval corrupts the invoker
by epoptai (Curate) on Jun 25, 2002 at 03:48 UTC
    Since this is a utility script for use by people who know Perl I'm not too worried about deliberately dangerous input, just the off chance that someone will test an Acme module and accidentally toast the script.

    To summarize, after kicking it around the CB with fever and jarich it was revealed that Safe doesn't seem to allow use or require in its compartments, so it won't help in this case, since use is required (pun not intended but what the heck). Other ideas were to lock $0 somehow (Zaxo) or back it up in case of emergency, but I finally settled for not putting the example code from modules known to modify $0 into a form.

    Update: changed to perigeeV's brilliant strategy of redefining $0 in a begin block.

    ps - Mr. Muskrat, I know exactly what bleach does and that is what I'm trying to prevent ;^)

    --
    Check out my Perlmonks Related Scripts like framechat, reputer, and xNN.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others exploiting the Monastery: (10)
As of 2014-12-28 06:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (178 votes), past polls