1Module::Versions::ReporUts(e3r)Contributed Perl DocumentMaotdiuolne::Versions::Report(3)
2
3
4
6 Module::Versions::Report -- report versions of all modules in memory
7
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
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
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
81 Ruslan U. Zakirov <ruz@bestpractical.com>
82
84 Sean M. Burke, <sburke@cpan.org>
85
86
87
88perl v5.38.0 2023-07-20 Module::Versions::Report(3)