=pod

=for comment
DO NOT EDIT. This Pod was generated by Swim v0.1.46.
See http://github.com/ingydotnet/swim-pm#readme

=encoding utf8

=head1 NAME

Module::Optimize - Perl Module Optimization

=head1 SYNOPSIS

    package Foo;
    use Module::Optimize -base;

    sub pmc_optimize {
        my ($self, $source) = @_;
        # Convert perl5 $source into semantically equivalent $compiled_output
        return $compiled_output;
    }

In C<Bar.pm>:

    package Bar;

    use Foo;

or lexically:

    package Bar;

    {
        use Foo;
        ...
    }

To compile C<Bar.pm> into C<Bar.pmc>:

    perl -c Bar.pm

=head1 DESCRIPTION

This module provides a system for writing modules that I<compile> other
Perl modules.

Modules that use these compilation modules get compiled into some altered form
the first time they are run. The result is cached into C<.pmc> files.

Perl has native support for C<.pmc> files. It always checks for them, before
loading a C<.pm> file.

You get the following benefits:

=head1 SEE ALSO

Module::Compile

=head1 AUTHORS

=over

=item * Ingy döt Net <ingy@cpan.org>

=item * Audrey Tang <audreyt@audreyt.org>

=back

=head1 COPYRIGHT AND LICENSE

Copyright 2006-2019. Ingy döt Net.

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

See L<http://www.perl.com/perl/misc/Artistic.html>

=cut
