NAME

Extorter - Import Routines By Any Means Necessary

VERSION

version 0.03

SYNOPSIS

use Extorter qw(

    *utf8
    *strict
    *warnings

    feature^say
    feature^state

    Carp::croak
    Carp::confess

    Data::Dump::dump

    Digest::SHA1::sha1_hex
    Digest::SHA1::sha1_base64

    Encode::encode_utf8
    Encode::decode_utf8

    IO::All::io

    List::AllUtils::distinct
    List::AllUtils::firstval
    List::AllUtils::lastval
    List::AllUtils::pairs
    List::AllUtils::part
    List::AllUtils::uniq

    Memoize::memoize

    Scalar::Util::blessed
    Scalar::Util::refaddr
    Scalar::Util::reftype
    Scalar::Util::weaken

);

DESCRIPTION

The Extorter module allows you to create import lists which extract routines from the package(s) specified. It will import routines found in the package variables @EXPORT, @EXPORT_OK and %EXPORT_TAGS, or, extract routines defined in the package which are not explicitly exported. Otherwise, as a last resort, Extorter will try to load the package, using a parameterized use statement, in the event that the package has a custom or magical importer that does not conform to the Exporter interface.

Extorter accepts a list of fully-qualified declarations. Although the Extorter syntax may seem strange (uncommon), it is designed to be useful in a variety of circumstances, as well as promote clean and reasonable import lists. It has the added bonus of extracting functionality from packages which may not have originally been designed to be imported. Declarations are handled in the order in which they're declared, which means, as far as the import and/or extraction order goes, the last routine declared will be the one available to your program and any redefine warnings will be suppressed. This is a feature not a bug. NOTE: Any declaration prefixed with an asterisk is assumed to be a fully-qualified namespace of a package and is imported directly.

AUTHOR

Al Newkirk <anewkirk@ana.io>

COPYRIGHT AND LICENSE

This software is copyright (c) 2014 by Al Newkirk.

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