Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Can you prevent MO=Deparse

by broquaint (Abbot)
on May 08, 2003 at 14:19 UTC ( #256537=note: print w/replies, xml ) Need Help??


in reply to Can you prevent MO=Deparse

Short of removing the Deparse module, is there a way to write a script which will prevent it from being dumped by DeParse?
In theory, no, since -MO=Deparse will mean that B::Deparse is processed before any other modules, and therefore at the top of the BEGIN chain, and since it sets the minus_c switch, no other code can be run (except for anything in a BEGIN/CHECK block of course). But inevitably the argument will come down to the fact that you can't hide perl's source (see. Here is a commercial obfuscator for an interesting discussion on the matter of source obfuscation).

This won't work in your case, but I thought I'd put it up for amusement value anyways

## place before use O 'Deparse'/-MO=Deparse BEGIN { unshift @INC => sub { ## 'empty' should be a valid module open(F, "empty") and return *F if $_[1] =~ /O.pm|B.pm/; }; }
If this code is placed before -MO=Deparse or a use O 'Deparse' then the deparsing will be skipped.
HTH

_________
broquaint

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others having an uproarious good time at the Monastery: (4)
As of 2020-10-22 01:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My favourite web site is:












    Results (225 votes). Check out past polls.

    Notices?