Acme-Tao

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

NAME
    Acme::Tao - strongly suggests proper respect for the Tao

SYNOPSIS
     use Acme::Tao;

    or

     use Acme::Tao qw(something_that_must_not_be_constant);

DESCRIPTION
    Everyone knows that the Tao is not constant. But some people just might
    not get it. To make sure no one tries to use constant Tao in a program
    with your module, put a "use Acme::Tao" at the top of your code. If Tao
    has been made constant by time your module is used, Acme::Tao may die
    with a nice message. Note that the package in which Tao is constant is
    irrelavent.

    On a walk between shrines in Nikko, Japan, I had an epiphany: if the Tao
    is not constant, than neither should Acme::Tao be constant.

     The Tao doesn't take sides;
     it gives birth to both wins and losses.

    Acme::Tao doesn't take sides either, at least not consistently. It will
    sometimes die and sometimes not (50% chance of it doing so), in
    accordance with its understanding of the nature of the Tao.

    As Lao-tzu teaches, "The name that can be named is not the constant
    name," and Acme::Tao can *also* be used to check for any other symbols
    you might not want to have as constants. When used in this fashion, it
    will always try to work.

    For example:

     use Acme::Tao qw(foo);

    This will die if "foo" is defined as a constant in the current package.

     use Acme::Tao qw(::foo);

    This will die if "foo" is defined as a constant in the "main::" package.
    This is the same as "main::foo".

    If Acme::Tao is checking for particular symbols, it will not check for a
    constant Tao.

MESSAGES
    The messages are stored in @__PACKAGE__::messages. Feel free to add to
    them. You can even subclass Acme::Tao:

     package My::Tao;

     use Acme::Tao ();
     use vars(@messages @ISA);

     @ISA = qw(Acme::Tao);

     @messages = ( ... );

     1;
     __END__

    The messages will come from the appropriate package and are not
    cumulative.

AUTHOR
    James G. Smith, <jsmith@cpan.org>



( run in 1.162 second using v1.01-cache-2.11-cpan-9581c071862 )