The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Acme::Enc - Perl extension for Encypting your source code, Acme Style

SYNOPSIS

   use Acme::Enc;

DESCRIPTION

   use Acme::Enc;
   
   print "Hello World";

After you run it the first time it will now look like this:

   use Acme::Enc;
   [ encypted version here ]

but run exactly the same :)

OPTIONS

    use Acme::Enc qw(cyphertext 1);
    use Acme::Enc qw(cyphertext);
    use Acme::Enc qw(\&get_cyphertext 1);
    use Acme::Enc qw(\&get_cyphertext);

This lets you specify the cyphertext or a code reference that returns a cyphertext to use to [de|en]crypt the source.

If a second argument is true then it uses ASCII Armour.

The code reference has $0 as its only argument so you could use that in cypher fetching. (IE based on a database or algorythm)

Note that to have it call your funtion to unencrypt it you must specify it as a string '\&foo' in main:: or else the return value of your function will be used:

    use Digest::MD5 qw(md5_hex);
    sub get_cyphertext { return md5_hex(shift()) }
    use Acme::Enc qw(\&get_cyphertext);
    [ your code here ]

results in:

    use Digest::MD5 qw(md5_hex);
    sub get_cyphertext { return md5_hex(shift()) }
    use Acme::Enc \&get_cyphertext;
    [ encypted version here ]

while:

    use Digest::MD5 qw(md5_hex);
    sub get_cyphertext { return md5_hex(shift()) }
    use Acme::Enc \&get_cyphertext;
    [ your code here ]

results in:

    use Digest::MD5 qw(md5_hex);
    sub get_cyphertext { return md5_hex(shift()) }
    use Acme::Enc 'b2d92a2245e0b046e4ef703ecd9a29ae';
    [ encypted version here ]
 

Will this make it so no one can see my source since my code is so great that everyone wants to steal it?

Don't be stupid, they'll easily be able to unencrypt it, the same way Acme::Enc unencypts it.

So why would I use this if it won't get me riches and glory and only make my script slower?

Why does anyone do anything really?

Whats the deal with the comment undeneathe the use statement after its ecrypted?

I needed a tag to look for to allow for binary encryption, I chose my name. You no like? Boo hoo :)

See Also

Crypt::OpenPGP and Acme::Bleach (any resemblance of my pants to Damian Conway's shirt is purely not coincidental and the names were not changed because no one is innocent)

Thanks Damian you rock!! Tell Larry hi for me ;p

AUTHOR

Daniel Muey, http://drmuey.com/cpan_contact.pl

COPYRIGHT AND LICENSE

Copyright 2005 by Daniel Muey

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.