NAME

    App::CPAN::Dependents - Recursively find all reverse dependencies for a
    distribution or module

SYNOPSIS

      use App::CPAN::Dependents 'find_all_dependents';
      my $dependents = find_all_dependents(module => 'JSON::Tiny'); # or dist => 'JSON-Tiny'
      print "Distributions dependent on JSON::Tiny: @$dependents\n";
      
      # From the commandline
      $ cpan-dependents --with-recommends JSON::Tiny
      $ cpan-dependents -c JSON-Tiny

DESCRIPTION

    App::CPAN::Dependents provides the function "find_all_dependents"
    (exportable on demand) for the purpose of determining all distributions
    which are dependent on a particular CPAN distribution or module.

    This module uses the MetaCPAN API, and must perform several requests
    recursively, so it may take a long time (sometimes minutes) to
    complete. If the function encounters HTTP errors (including when
    querying a nonexistent module or distribution) or is unable to connect,
    it will die.

    This module will only find distributions that explicitly list
    prerequisites in metadata; dynamic_config will not be used. Also, it
    assumes the MetaCPAN API will correctly extract the provided modules
    for distributions, so any unindexed or unauthorized modules will be
    ignored.

    See cpan-dependents for command-line usage.

FUNCTIONS

 find_all_dependents

      my $dependents = find_all_dependents(module => 'JSON::Tiny', recommends => 1);

    Find all dependent distributions. Returns an array reference of
    distribution names. The following parameters are accepted:

    module

      The module name to find dependents for. Mutually exclusive with dist.

    dist

      The distribution to find dependents for. Mutually exclusive with
      module.

    http

      Optional HTTP::Tiny object to use for querying MetaCPAN. If not
      specified, a default HTTP::Tiny object will be used.

    recommends

      Boolean value, if true then recommends prerequisites will be
      considered in the results. Defaults to false.

    suggests

      Boolean value, if true then suggests prerequisites will be considered
      in the results. Defaults to false.

    develop

      Boolean value, if true then develop phase prerequisites will be
      considered in the results. Defaults to false.

    debug

      Boolean value, if true then debugging information will be printed to
      STDERR as it is retrieved.

AUTHOR

    Dan Book, dbook@cpan.org

COPYRIGHT AND LICENSE

    Copyright 2015, Dan Book.

    This library is free software; you may redistribute it and/or modify it
    under the terms of the Artistic License version 2.0.

SEE ALSO

    cpan-dependents, Test::DependentModules, MetaCPAN::Client,
    CPAN::Meta::Spec

