NAME
    Acme::SoftwareUpdate - check for newer version of caller module

SYNOPSIS
      package Your::Package;
      use vars qw($VERSION);
      $VERSION = '0.01'; # or anything that evaluates to a version
      &Acme::SoftwareUpdate if eval{require Acme::SoftwareUpdate};

DESCRIPTION
    When incorported into your distribution's main module,
    Acme::SoftwareUpdate will inform your users if there is a later version
    of your distribution on the CPAN. If the user has ExtUtils::AutoInstall
    installed, Acme::SoftwareUpdate will also give your users the option of
    auto-upgrading the new version of your distribution.

    This distribution is in the Acme:: namespace for a reason. Namely, the
    author is not particularly confident that this very concept is either
    sane, or particularly useful.

EXAMPLE
    The following is an example of what might be displayed when the caller
    module is found to be out-of-date. If the user does not have
    ExtUtils::AutoInstall installed, they will get the message below, minus
    the prompt to upgrade.

      There's a new version of Test::Reporter available!
      [http://search.cpan.org/author/FOX/Test-Reporter-1.20/]

        Current version: 1.16, installed on Tue Feb 26 23:01:20 2003
        New version: 1.20, released on 5th June 2003

      Would you like to upgrade? (y/n):

CAVEATS
    Acme::SoftwareUpdate depends on search.cpan.org's experimental xml
    interface. http://search.cpan.org/faq.html#08xml clearly states that the
    xml interface is not supported and may change at any time. That means
    that this distribution could break without notice.

    You should have 'version' and/or 'Sort::Versions' installed if you
    expect A::SU to check modules with non-standard version numbers.

NOTES
    Acme::SoftwareUpdate depends on a net connection, and the availability
    of search.cpan.org. Due to the nature of how search.cpan.org mirrors
    ftp.funet.fi, it may take up to four hours after a new distribution is
    uploaded to PAUSE for Acme::SoftwareUpdate to know about it.

    If the environmental variable 'SOFTWARE_UPDATE_DISABLE' is set, or there
    is no controlling TTY, or there is no network connection,
    Acme::SoftwareUpdate will simply return, without doing anything.

    If the environmental variable 'SOFTWARE_UPDATE_DEPS' is set, A::SU will
    also check to see if the calling packages dependencies are out-of-date,
    if they happen to also make use of A::SU.

    As you probably guessed, we use the unconventional
    '&Acme::SoftwareUpdate if eval{require Acme::SoftwareUpdate};' syntax so
    that an update check will be skipped if a user of your distribution
    doesn't happen to have Acme::SoftwareUpdate installed.

COPYRIGHT
      Copyright (c) 2003 Adam J. Foxson. All rights reserved.

LICENSE
      See COPYING.

SEE ALSO
    * the perl manpage
    * the CPAN manpage
    * the CPANPLUS manpage
    * the ExtUtils::AutoInstall manpage
    * the Module::Signature manpage
    * the Module::Install manpage
    * the version manpage
    * the Sort::Versions manpage
AUTHOR
    Adam J. Foxson <afoxson@pobox.com>.

