NAME
    Exporter::Lite - Lightweight exporting of variables

SYNOPSIS
      package Foo;
      use Exporter::Lite;

      # Just like Exporter.
      @EXPORT       = qw($This That);
      @EXPORT_OK    = qw(@Left %Right);


      # Meanwhile, in another piece of code!
      package Bar;
      use Foo;  # exports $This and &That.

DESCRIPTION
    This is an alternative to Exporter intended to provide a lightweight
    subset of its functionality. It supports "import()", @EXPORT and
    @EXPORT_OK and not a whole lot else.

    Unlike Exporter, it is not necessary to inherit from Exporter::Lite (ie.
    no "@ISA = qw(Exporter::Lite)" mantra). Exporter::Lite simply exports
    its import() function. This might be called a "mix-in".

    Setting up a module to export its variables and functions is simple:

        package My::Module;
        use Exporter::Lite;

        @EXPORT = qw($Foo bar);

    now when you "use My::Module", $Foo and "bar()" will show up.

    In order to make exporting optional, use @EXPORT_OK.

        package My::Module;
        use Exporter::Lite;

        @EXPORT_OK = qw($Foo bar);

    when My::Module is used, $Foo and "bar()" will *not* show up. You have
    to ask for them. "use My::Module qw($Foo bar)".

Methods
    Export::Lite has one public method, import(), which is called
    automaticly when your modules is use()'d.

    In normal usage you don't have to worry about this at all.

    import
          Some::Module->import;
          Some::Module->import(@symbols);

        Works just like "Exporter::import()" excepting it only honors
        @Some::Module::EXPORT and @Some::Module::EXPORT_OK.

        The given @symbols are exported to the current package provided they
        are in @Some::Module::EXPORT or @Some::Module::EXPORT_OK. Otherwise
        an exception is thrown (ie. the program dies).

        If @symbols is not given, everything in @Some::Module::EXPORT is
        exported.

DIAGNOSTICS
    '"%s" is not exported by the %s module'
        Attempted to import a symbol which is not in @EXPORT or @EXPORT_OK.

    'Can\'t export symbol: %s'
        Attempted to import a symbol of an unknown type (ie. the leading $@%
        salad wasn't recognized).

BUGS and CAVEATS
    Its not yet clear if this is actually any lighter or faster than
    Exporter. I know its at least on par.

    OTOH, the docs are much clearer and not having to say "@ISA =
    qw(Exporter)" is kinda nice.

AUTHORS
    Michael G Schwern <schwern@pobox.com>

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

    See http://www.perl.com/perl/misc/Artistic.html

SEE ALSO
    Exporter, Exporter::Simple, UNIVERSAL::exports

