Beefy Boxes and Bandwidth Generously Provided by pair Networks
Come for the quick hacks, stay for the epiphanies.
 
PerlMonks  

•Re: when eval corrupts the invoker

by merlyn (Sage)
on Jun 24, 2002 at 23:40 UTC ( [id://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

Replies are listed 'Best First'.
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
Domain Nodelet?
Node Status?
node history
Node Type: note [id://176987]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others chilling in the Monastery: (3)
As of 2024-03-29 06:08 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found