Module::Versions::Report.3pm

Langue: en

Autres versions - même langue

Version: 2008-10-21 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

NAME

Module::Versions::Report -- report versions of all modules in memory

SYNOPSIS

   use Module::Versions::Report;
   
   ...and any code you want...
 
 

This will run all your code normally, but then as the Perl interpreter is about to exit, it will print something like:

   Perl v5.6.1 under MSWin32.
    Modules in memory:
     attributes;
     AutoLoader v5.58;
     Carp;
     Config;
     DynaLoader v1.04;
     Exporter v5.562;
     Module::Versions::Report v1.01;
     HTML::Entities v1.22;
     HTML::HeadParser v2.15;
     HTML::Parser v3.25;
     [... and whatever other modules were loaded that session...]
 
 

Consider its use from the command line:

   % perl -MModule::Versions::Report -MLWP -e 1
 
   Perl v5.6.1 under MSWin32.
    Modules in memory:
     attributes;
     AutoLoader v5.58;
     [...]
 
 

DESCRIPTION

I often get email from someone reporting a bug in a module I've written. I email back, asking what version of the module it is, what version of Perl on what OS, and sometimes what version of some relevent third library (like XML::Parser). They reply, saying ``Perl 5''. I say "I need the exact version, as reported by "perl -v"``. They tell me. And I say ''I, uh, also asked about the version of my module and XML::Parser [or whatever]``. They say ''Oh yeah. It's 2.27``. ''Is that my module or XML::Parser?`` ''XML::Parser.`` ''OK, and what about my module's version?`` ''Ohyeah. That's 3.11." By this time, days have passed, and what should have been a simple operation --- reporting the version of Perl and relevent modules, has been needlessly complicated.

This module is for simplifying that task. If you add ``use Module::Versions::Report;'' to a program (especially handy if your program is one that demonstrates a bug in some module), then when the program has finished running, you well get a report detailing the all modules in memory, and noting the version of each (for modules that defined a $VERSION, at least).

USING

Importing

If this package is imported then END block is set, and report printed to stdout on a program exit, so use "use Module::Versions::Report;" if you need a report on exit or "use Module::Versions::Report ();" otherwise and call report or print_report functions yourself.

report and print_report functions

The first one returns preformatted report as a string, the latter outputs a report to stdout. Copyright 2001-2003 Sean M. Burke. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.

MAINTAINER

Ruslan U. Zakirov <ruz@bestpractical.com>

AUTHOR

Sean M. Burke, <sburke@cpan.org>