KinoSearch::Util::ToolSet(3) namespace pollution

PRIVATE CLASS

This is a private class and the interface may change radically and without warning. Do not use it on its own.

SYNOPSIS


use KinoSearch::Util::ToolSet;

DESCRIPTION

KinoSearch::Util::ToolSet makes a slew of commonly needed symbols available to other modules in the KinoSearch suite. At one time it was implemented using David Golden's ToolSet module, but in keeping with the philosophy of minimizing non-core dependencies, a 90% solution based on Exporter has been substituted.

    use KinoSearch::Util::ToolSet;

... is effectively an alias for...

    use bytes; no bytes;
    use Carp qw( carp croak cluck confess );
    use Scalar::Util qw( 
                         refaddr
                         blessed 
                         dualvar 
                         isweak 
                         refaddr 
                         reftype 
                         tainted 
                         weaken 
                         isvstring 
                         looks_like_number 
                         );
    use KinoSearch qw( K_DEBUG kdump );
    use KinoSearch::Util::VerifyArgs qw( verify_args a_isa_b );
    use KinoSearch::Util::MathUtils qw( ceil );

Two issues deserve special attention.

First, the "use bytes; no bytes;" combo ensures that subroutines within the bytes:: namespace, such as bytes::length, will be available, while still keeping character semantics enabled by default --- so regexes work as expected, etc.

Second, the "use KinoSearch" line does a LOT more than it appears to at first glance --- it loads ALL of the XS routines in the entire KinoSearch suite. See KinoSearch::Docs::DevGuide for an explanation.

COPYRIGHT

Copyright 2005-2009 Marvin Humphrey

LICENSE, DISCLAIMER, BUGS, etc.

See KinoSearch version 0.165.