NAME
    Acme::What - the f**k?

SYNOPSIS
     use Acme::What;
     sub WHAT { warn @_ }
 
     what is happening?
     what is the problem?

WHAT?
    Acme::What installs a new `what` keyword for you.

    The `what` keyword takes the rest of the line of source code on which it
    occurs (up to but excluding any semicolon), treats it as a single string
    scalar and passes it through to a function called `WHAT` in the caller
    package.

    So the example in the SYNOPSIS will warn twice, with the following
    strings:

      "is happening?"
      "is the problem?"

    If you'd rather use a function other than `WHAT`, then that is OK. Simply
    provide the name of an alternative function:

     use Acme::What '_what';
     sub _what { warn @_ }
 
     what is happening?
     what is the problem?

    Acme::What is lexically scoped, so you can define different handling for
    it in different parts of your code. You can even use:

     no Acme::What;

    to disable Acme::What for a scope. (The `what` keyword is still parsed
    within the scope, but when the line is executed, it throws a catchable
    error.)

WHY?
    It's in the Acme namespace. There is no why.

HOW?
    Acme::What uses Devel::Declare to work its magic.

WHITHER?
    Devel::Declare, Acme::UseStrict.

WHO?
    Toby Inkster <tobyink@cpan.org>.

MAY I?
    This software is copyright (c) 2012, 2014 by Toby Inkster.

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

REALLY?
    THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
    WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
    MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.