NAME
    Exporter::Declare - Declarative function exporting

DESCRIPTION
    Declarative function exporting. You can export subs as usualy with
    @EXPORT, or export anonymous subs under whatever name you want. You can
    also extend Exporter::Declare very easily. You can also add an export
    from outside the package using the export() class method on it.

SYNOPSYS
    Basic usage:

        package MyPackage;
        use strict;
        use warnings;
        use Exporter::Declare;

        # works as expected
        our @EXPORT = qw/a/;

        # Declare an anonymous export
        export b => sub { 'b' };

        export 'c';
        sub c { 'c' }
        sub a { 'a' }

        1;

    Extending:

        package MyExporterDeclare;
        use strict;
        use warnings;
        use Exporter::Declare ':extend';

        export my_export => sub {
            my ( $name, $sub ) = @_;
            export( $name, $sub );
        };

    Import with a prefix:

        package MyThing;
        use strict;
        use warnings;
        use MyThingThatExports ':prefix:myprefix';

    Import a list of subs only:

        package MyThing;
        use strict;
        use warnings;
        use MyThingThatExports qw/ sub_a sub_b /;

AUTHORS
    Chad Granum exodist7@gmail.com

COPYRIGHT
    Copyright (C) 2010 Chad Granum

    Exporter-Declare is free software; Standard perl licence.

    Exporter-Declare is distributed in the hope that it will be useful, but
    WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the license for
    more details.

