NAME

Module::Crypt - Encrypt your Perl code and compile it into XS

SYNOPSIS

use Module::Crypt;

CryptModule(
   name => 'Foo::Bar',
   file => 'Bar.pm',
   install_base => '/path/to/lib'
);

ABSTRACT

Module::Crypt encrypts your pure-Perl modules and then compiles them into an XS module. It lets you distribute binary versions without disclosing code, although please note that we should better call this an obfuscation, as Perl is still internally working with your orignial code. While this isn't 100% safe, it makes code retrival much harder than any other known Perl obfuscation methods.

PUBLIC FUNCTIONS

CryptModule

This function does the actual encryption and compilation. It is supposed to be called from a Makefile-like script you'll create inside your development directory. The 5 lines you see in the SYNAPSIS above are sufficient to build (and rebuild) the module.

name

This must contain the name of the module in package form (such as Foo::Bar). It's required.

file

This is not required in most cases, as Module::Crypt locates the module file using the module name, but it's safer to specify it expecially when you have a multilevel module (that is Foo::Bar instead of, say, simply Foo).

install_base

(Optional) This parameter contains the destination of the compiled modules. If not specified, it defaults to a directory named "output" inside the current working directory.

AVAILABILITY

Latest versions can be downloaded from CPAN. You are very welcome to write mail to the author (aar@cpan.org) with your comments, suggestions, bug reports or complaints.

AUTHOR

Alessandro Ranellucci <aar@cpan.org>

COPYRIGHT AND LICENSE

Copyright (c) 2005 Alessandro Ranellucci. All Rights Reserved. Module::Crypt is free software, you may redistribute it and/or modify it under the same terms as Perl itself.