1Module::Versions::ReporUts(e3r)Contributed Perl DocumentMaotdiuolne::Versions::Report(3)
2
3
4

NAME

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

SYNOPSIS

9         use Module::Versions::Report;
10
11         ...and any code you want...
12
13       This will run all your code normally, but then as the Perl interpreter
14       is about to exit, it will print something like:
15
16         Perl v5.6.1 under MSWin32.
17          Modules in memory:
18           attributes;
19           AutoLoader v5.58;
20           Carp;
21           Config;
22           DynaLoader v1.04;
23           Exporter v5.562;
24           Module::Versions::Report v1.01;
25           HTML::Entities v1.22;
26           HTML::HeadParser v2.15;
27           HTML::Parser v3.25;
28           [... and whatever other modules were loaded that session...]
29
30       Consider its use from the command line:
31
32         % perl -MModule::Versions::Report -MLWP -e 1
33
34         Perl v5.6.1 under MSWin32.
35          Modules in memory:
36           attributes;
37           AutoLoader v5.58;
38           [...]
39

DESCRIPTION

41       I often get email from someone reporting a bug in a module I've
42       written.  I email back, asking what version of the module it is, what
43       version of Perl on what OS, and sometimes what version of some relevent
44       third library (like XML::Parser).  They reply, saying "Perl 5".  I say
45       "I need the exact version, as reported by "perl -v"".  They tell me.
46       And I say "I, uh, also asked about the version of my module and
47       XML::Parser [or whatever]".  They say "Oh yeah.  It's 2.27".  "Is that
48       my module or XML::Parser?"  "XML::Parser."  "OK, and what about my
49       module's version?"  "Ohyeah.  That's 3.11."  By this time, days have
50       passed, and what should have been a simple operation -- reporting the
51       version of Perl and relevent modules, has been needlessly complicated.
52
53       This module is for simplifying that task.  If you add "use
54       Module::Versions::Report;" to a program (especially handy if your
55       program is one that demonstrates a bug in some module), then when the
56       program has finished running, you well get a report detailing the all
57       modules in memory, and noting the version of each (for modules that
58       defined a $VERSION, at least).
59

USING

61   Importing
62       If this package is imported then END block is set, and report printed
63       to stdout on a program exit, so use "use Module::Versions::Report;" if
64       you need a report on exit or "use Module::Versions::Report ();"
65       otherwise and call report or print_report functions yourself.
66
67   report and print_report functions
68       The first one returns preformatted report as a string, the latter
69       outputs a report to stdout.
70
72       Copyright 2001-2003 Sean M. Burke. This library is free software; you
73       can redistribute it and/or modify it under the same terms as Perl
74       itself.
75
76       This program is distributed in the hope that it will be useful, but
77       without any warranty; without even the implied warranty of
78       merchantability or fitness for a particular purpose.
79

MAINTAINER

81       Ruslan U. Zakirov <ruz@bestpractical.com>
82

AUTHOR

84       Sean M. Burke, <sburke@cpan.org>
85
86
87
88perl v5.38.0                      2023-07-20       Module::Versions::Report(3)
Impressum