cpan-outdated(1) detect outdated CPAN modules in your environment


# print the list of distribution that contains outdated modules
% cpan-outdated
# print the list of outdated modules in packages
% cpan-outdated -p
# verbose
% cpan-outdated --verbose

# ignore core modules (do not update dual life modules)
% cpan-outdated --exclude-core
# alternate mirrors
% cpan-outdated --mirror file:///home/user/minicpan/
# additional module path(same as cpanminus)
% cpan-outdated -l extlib/
% cpan-outdated -L extlib/
# install with cpan
% cpan-outdated | xargs cpan -i
# install with cpanm
% cpan-outdated | cpanm
% cpan-outdated -p | cpanm


This script prints the list of outdated CPAN modules in your machine.

It's same feature of 'CPAN::Shell->r', but "cpan-outdated" is much faster and uses less memory.

This script can be integrated with cpanm command.


This script by default prints the outdated distribution as in the CPAN distro format, i.e: "A/AU/AUTHOR/Distribution-Name-0.10.tar.gz" so you can pipe into CPAN installers, but with "-p" option it can be tweaked to print the module's package names.

If you wish to manage a set of modules separately from your system perl installation and not install newer versions of ``dual life modules'' that are distributed with perl, the "--exclude-core" option will make cpan-outdated ignore changes to core modules. Used with tools like cpanm and its "-L --local-lib-contained" and "--self-contained" options, this facilitates maintaining updates on standalone sets of modules.

For some tools such as cpanm installing from packages could be a bit more useful since you can track to see the old version number where you upgrade from.


Tokuhiro Matsuno


Copyright (C) 2009 Tokuhiro Matsuno.

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