NAME

namespace::clean::xs - Keep imports and functions out of your namespace, in XS

SYNOPSIS

use namespace::clean::xs; # be lean and mean

DESCRIPTION

See namespace::clean for complete description of this module's logic.

COMPABILITY

All methods from namespace::clean are implemented in namespace::clean::xs, but individual functions have the following differences:

  • get_class_store

    Structure of the returned hash is the same, but it has nothing in common with the internal storage. Modifications of it are in vain.

    While namespace::clean saves this info forever, this module deletes it after namespace cleanup is done (as it never happens for a second time as in the original module), so you can see valid data only for a short time.

  • get_functions

    In the returned hash function stubs and constants are not expanded. While you can still call the latter and can't call the former, you may get different error messages.

  • unimport

    Will croak on unrecognized options.

  • import

    Will croak on unrecognized options.

    This module tries to minimize memory impact after it's usage, so it won't expand to full globs constant/stub functions. It also removes from the old package symbols without data completely.

SEE ALSO

COPYRIGHT AND LICENSE

Copyright (C) 2016 by Sergey Aleynikov

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.10.1 or, at your option, any later version of Perl 5 you may have available.