NAME
    Acme::Perl::Consensual - check that your version of Perl is old enough
    to consent

DESCRIPTION
    This module checks that your version of Perl is old enough to consent to
    sexual activity. It could be considered a counterpart for Modern::Perl.

  Constructor
    "new(locale => $locale)"
        Creates a new Acme::Perl::Consensual object which can act as an age
        of consent checker for a particular locale.

        The locale string should be an ISO 3166 alpha2 country code such as
        "US" for the United States, "GB" for the United Kingdom or "DE" for
        Germany. It may optionally include a hyphen followed by a
        subdivision designator, such as "US-TX" for Texas, United States,
        "AU-NSW" for New South Wales, Australia or "GB-WLS" for Wales,
        United Kingdom.

        If the locale is omitted, the module will attempt to extract the
        locale from the LC_LEGAL or LC_ALL environment variable.

  Methods
    "locale"
        Returns the locale provided to the constructor, or detected from
        environment variables, lower-cased.

    "can(%details)"
        Given a person's details (or a piece of software's details), returns
        true if they are legally able to consent. For example:

                my $can_consent = $acme->can(age => 26, married => 1);

        Currently recognised details are 'age' (in years), 'married' (0 for
        no, 1 for yes) and 'puberty' (0 for no, 1 for yes).

        If called with a single scalar argument, acts like UNIVERSAL::can
        (see UNIVERSAL).

    "age_of_perl_in_seconds($version)"
        The age of a particular release of Perl, in seconds. (Actually we
        don't know exactly what time of day Perl was released, so we assume
        midnight on the release date.)

        If $version is omitted, then the current version.

    "age_of_perl($version)"
        As per "age_of_perl_in_seconds", but measured in years. Returns a
        floating point. Use POSIX::floor to round down to the nearest whole
        number. This method assumes that all years are 365.24 days long, and
        all days are 86400 (i.e. 24*60*60) seconds long.

    "perl_can($version)"
        Shorthand for:

                $acme->can(
                        age     => POSIX::floor($acme->age_of_perl($version)),
                        puberty => 1, # Perl is regarded as a mature programming language
                );

  Import
    Passing a "-check" parameter on import:

            use Acme::Perl::Consensual -check;

    is a shorthand for:

            BEGIN {
                    require Acme::Perl::Consensual;
                    Acme::Perl::Consensual->new()->perl_can()
                            or die "Perl $] failed age of consent check, died";
            }

    That is, it's the opposite of "use Modern::Perl". It requires your
    version of Perl to be past the age of consent in your locale.

CAVEATS
    Most jurisdictions have legal subtleties that this module cannot take
    into account. Use of this module does not constitute a legal defence.

    Even if you obtain consent from Perl, there are practical limits to what
    you could actually do with it, sexually.

INSTALL
    While this distribution is believed to work in any version of Perl 5, it
    has only been tested so far in Perl 5.8+. In older versions of Perl,
    Makefile.PL may not run, but the library can be manually installed by
    copying "lib/Acme/Perl/Consensual.pm" to an appropriate location.

BUGS
    Please report any bugs to
    <http://rt.cpan.org/Dist/Display.html?Queue=Acme-Perl-Consensual>.

SEE ALSO
    Sex, XXX.

AUTHOR
    Toby Inkster <tobyink@cpan.org>, but MSCHWERN deserves at least a little
    of the blame.

COPYRIGHT AND LICENCE
    This software is copyright (c) 2012-2013 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.

DISCLAIMER OF WARRANTIES
    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.