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>