NAME

    Dist::Surveyor - Survey installed modules and determine the specific
    distribution versions they came from

SYNOPSIS

        my $options = {
            opt_match => $opt_match,
            opt_perlver => $opt_perlver,
            opt_remnants => $opt_remnants,
            distro_key_mod_names => $distro_key_mod_names,
        };
        my @installed_releases = determine_installed_releases($options, \@libdirs);

DESCRIPTION

    Surveys your huge ball of Perl modules, jammed together inside a
    directory, and tells you exactly which module is installed there.

    For quick start, and a fine example of this module usage, see
    dist_surveyor.

    This module have one exported function - determine_installed_releases

determine_installed_releases($options, $search_dirs)

    $options includes:

    opt_match

      A regex qr//. If exists, will ignore modules that doesn't match this
      regex

    opt_perlver

      Skip modules that are included as core in this Perl version

    opt_remnants

      If true, output will include old distribution versions that have left
      old modules behind

    distro_key_mod_names

      A hash-ref, with a list of irregular named releases. i.e.
      'libwww-perl' => 'LWP'.

    $search_dirs is an array-ref containing the list of directories to
    survey.

    Returns a list, where each element is a hashref representing one
    installed distibution. This hashref is what MetaCPAN returns for
    https://fastapi.metacpan.org/v1/release/$author/$release, with two
    additional keys:

      * 'url' - that same as 'download_url', but without the hostname. can
      be used to download the file for your favorite mirror

      * 'dist_data' - Hashref containing info about the release, i.e.
      percent_installed. (fully installed releases will have '100.00')

OTHERS

    This module checks $::DEBUG and $::VERBOSE for obvious proposes.

    This module uses Dist::Surveyor::Inquiry to communicate with MetaCPAN.
    Check that module's documentation for options and caching.

    You can use Dist::Surveyor::MakeCpan to take the list of releases and
    create a mini-cpan containing them.

AUTHOR

    Written by Tim Bunce <Tim.Bunce@pobox.com>

    Maintained by Fomberg Shmuel <shmuelfomberg@gmail.com>, Dan Book
    <dbook@cpan.org>

COPYRIGHT AND LICENSE

    Copyright 2011-2013 by Tim Bunce.

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

