The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

CPAN::Diff - Compare local Perl packages/versions with a CPAN

SYNOPSIS

    use CPAN::Diff;

    # All params are optional
    # Mirror defaults to http://cpan.org
    my $diff = CPAN::Diff->new(
        mirror         => 'https://darkpan.mycompany.com',
        local_lib      => 'local',
        self_contained => 0,
        exclude_core   => 1,
    );

    # Local modules not in your darkpan.
    # Returns an array of CPAN::Diff::Module objects.
    my $extra = $diff->extra_modules;  
    printf "%-40s: %10s\n", $_->name, $_->local_version for @$extra;

    # Local modules which are older than the ones in your darkpan.
    # Returns an array of CPAN::Diff::Module objects.
    my $older = $diff->older_modules; 
    printf "%-40s: %10s %10s\n",
        $_->name,
        $_->local_version,
        $_->cpan_version,
        $_->cpan_dist->pathname
            for @$older;

    # Local modules which are newer than the ones in your darkpan.
    # Returns an array of CPAN::Diff::Module objects.
    my $newer = $diff->newer_modules; 
    printf "%-40s: %10s\n", $_->name, $_->local_version for @$newer;

DESCRIPTION

Discover which Perl packages/versions are different in your environment compared to CPAN or your darkpan (pinto or orepan2 or whatever).

This module comes with a handy script as well: cpan-diff

This modules steals a lot of code from cpan-outdated.

LICENSE

Copyright (C) Eric Johnson.

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

AUTHOR

Eric Johnson <eric.git@iijo.org>