“Professional service
that won't make you nervous”

Macintosh  Perl  Linux


For checking the current version/status of all installed Perl modules from CPAN

(current version: 1.91, Last Revised: Wed Nov 5 16:10:27 EST 2003)

The Stuff

Sample Full Output: ModuleCheck.txt

Sample Summary Output: Summary.txt

The Program itself: modulereport-1.91.tgz


  • Perl 5.6.0 or later
  • Storable.pm module must be installed
  • CPAN.pm version 1.59 or later

The Story

I got tired of checking each individual CPAN module one at a time via the CPAN shell to see if it needed updating, and found a way to check them all at once. Added some features over time for convenience in re-running the report again without it having to re-check CPAN each time (until I wanted it to.)

Gradually revised it to produce the pretty-print report you see here, where at a glance, you can tell which modules on the system are outdated. Have a look at the sample: it should be a no-brainer.

Bear in mind that the recent releases of Perl 5.8.0 and later will show many of the core packages as being outdated, and attempting to install these 'updates' via the CPAN shell will additionally attempt to install perl 5.8.0! The inclusion of the CPAN_FILE in the report output will help you to avoid this potential problem.

It is recommended that you either upgrade to Perl 5.8.0 in the normal way, or upgrade to a release of your OS that currently ships with Perl 5.8.0 (The current [ed. note: I can see I'm dating myself here] release of Red Hat 9, Shrike, includes Perl 5.8.0).

Recently I've added --long style switches, a --help/--usage that outputs the new Pod-format documentation, as well as working with the rather nifty Pod::Usage formatting, and a --summary switch to output only those modules that are either in need of updates, or are otherwise ambiguous.

Recent Changes:

I recently updated Modulereport (as of 1.9) to indicate when your installed module version is higher than the current CPAN version, as I had noticed several instances where this was happening, and shouldn't have been. This has had the interesting side-effect of showing up a number of bugs or inaccuracies in the CPAN database itself which I've been duly reporting to the module's authors and the CPAN maintainers so they can be corrected. In some instances this has been difficult, as CPAN has the wrong authorname not yet having been updated. I feel this is a MUCH more effective additional use for modulereport and it vastly outdoes the cpan shell's 'r' report. Thus, I'm leaving it in, and sharing it with you. Enjoy! :-)

Oh, yes. Also as a result of this change, I've slightly modified the output; it's now easier to tell when there's newer modules available by the new directional arrows. If you find you dislike this approach and have suggestions, please feel free to e-mail me, I'm very interested in your input if I can make this program better.

The 1.91 change incorporates a shift to make running via crontab slightly easier.