|
In a message dated 11/9/2006 8:06:29 A.M. Eastern Standard Time,
[EMAIL PROTECTED] writes:
> [EMAIL PROTECTED]
<> wrote:
> > Hello all, > > is there a possibility to get a list of all modules loaded by 'use' > > or 'require'? > > I would like have a possibility to list all modules with version > > numbers for troubleshooting. Thanks a lot > > See 'perldoc perlvar'. Look for %INC which lists all loaded modules. > > As for version numbers, the convention is to have a package variable > $<module>::VERSION (e.g. $TK::VERSION), but it is only a convention and > may not be honoured by all modules. > > -- > Brian Raven for example (long lines follow):
C:[EMAIL PROTECTED]>perl -we "use strict; use Tk;
{ no strict 'refs'; print qq(\n), map { my $var = $_; $var =~ s([.]pm $)()x; $var =~ s(/)(::)g; $var .= '::VERSION'; my $ver = defined ${$var} ? ${$var} : 'undefined'; qq($_ from $INC{$_}, $var is $ver \n) } grep { m( [.]pm $ )x } keys %INC }" warnings/register.pm from c:/Perl/lib/warnings/register.pm,
warnings::register::VERSION is 1.00
Tk/Frame.pm from c:/Perl/site/lib/Tk/Frame.pm, Tk::Frame::VERSION is 3.031 Tk/Pretty.pm from c:/Perl/site/lib/Tk/Pretty.pm, Tk::Pretty::VERSION is 3.013 warnings.pm from c:/Perl/lib/warnings.pm, warnings::VERSION is 1.03 Tk/Wm.pm from c:/Perl/site/lib/Tk/Wm.pm, Tk::Wm::VERSION is 3.023 Tk/Widget.pm from c:/Perl/site/lib/Tk/Widget.pm, Tk::Widget::VERSION is 3.080 base.pm from c:/Perl/lib/base.pm, base::VERSION is 2.03 Tk/MainWindow.pm from c:/Perl/site/lib/Tk/MainWindow.pm, Tk::MainWindow::VERSION is 3.047 Tk/Submethods.pm from c:/Perl/site/lib/Tk/Submethods.pm, Tk::Submethods::VERSION is 3.014 Config.pm from c:/Perl/lib/Config.pm, Config::VERSION is undefined Symbol.pm from c:/Perl/lib/Symbol.pm, Symbol::VERSION is 1.05 Tk/Image.pm from c:/Perl/site/lib/Tk/Image.pm, Tk::Image::VERSION is 3.014 Tk/Event.pm from c:/Perl/site/lib/Tk/Event.pm, Tk::Event::VERSION is 3.026 Carp.pm from c:/Perl/lib/Carp.pm, Carp::VERSION is 1.01 UNIVERSAL.pm from c:/Perl/lib/UNIVERSAL.pm, UNIVERSAL::VERSION is 1.01 strict.pm from c:/Perl/lib/strict.pm, strict::VERSION is 1.03 vars.pm from c:/Perl/lib/vars.pm, vars::VERSION is 1.01 Exporter.pm from c:/Perl/lib/Exporter.pm, Exporter::VERSION is 5.567 Tk/Event/IO.pm from c:/Perl/site/lib/Tk/Event/IO.pm, Tk::Event::IO::VERSION is 3.036 Tk/Derived.pm from c:/Perl/site/lib/Tk/Derived.pm, Tk::Derived::VERSION is 3.046 Tk/Toplevel.pm from c:/Perl/site/lib/Tk/Toplevel.pm, Tk::Toplevel::VERSION is 3.028 Tk/Configure.pm from c:/Perl/site/lib/Tk/Configure.pm, Tk::Configure::VERSION is 3.010 Tk/After.pm from c:/Perl/site/lib/Tk/After.pm, Tk::After::VERSION is 3.015 AutoLoader.pm from c:/Perl/lib/AutoLoader.pm, AutoLoader::VERSION is 5.60 Tk/CmdLine.pm from c:/Perl/site/lib/Tk/CmdLine.pm, Tk::CmdLine::VERSION is 3.030 DynaLoader.pm from c:/Perl/lib/DynaLoader.pm, DynaLoader::VERSION is 1.04 Tk.pm from c:/Perl/site/lib/Tk.pm, Tk::VERSION is 800.024 NOTE: the ``no strict 'refs';'' statement is needed to allow the
subsequent ${$var} soft reference.
also: try this without the grep { ... } statement.
hth -- bill walters
|
_______________________________________________ ActivePerl mailing list [email protected] To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
