This module, when subclassed by a package, allows that package to define exports in a more concise way than using Exporter. Instead of having to worry what goes in @EXPORT, @EXPORT_OK and %EXPORT_TAGS, you can use two attributes to define exporter behavior. This has two advantages: It frees you from the implementation details of Exporter, and it keeps the export definitions where they belong, with the subroutines and variables.

Indicates that the associated subroutine or global variable should be automatically exported. It will also go into the :all tag (per the rules of %EXPORT_TAGS), as well as any tags you specify as options of this attribute.

For example, the following declaration

sub hello : Exported(greet,uk) { ... }

will cause hello() to be exported, but also be available in the tags :all, :greet and :uk.

Is like Exported, except that the associated subroutine or global variable won't be automatically exported. It will still go to the :all tag in any case and all other tags specified as attribute options.