Module::Loaded(3pm) Perl Programmers Reference Guide Module::Loaded(3pm)NAME
Module::Loaded - mark modules as loaded or unloaded
SYNOPSIS
use Module::Loaded;
$bool = mark_as_loaded('Foo'); # Foo.pm is now marked as loaded
$loc = is_loaded('Foo'); # location of Foo.pm set to the
# loaders location
eval "require 'Foo'"; # is now a no-op
$bool = mark_as_unloaded('Foo'); # Foo.pm no longer marked as loaded
eval "require 'Foo'"; # Will try to find Foo.pm in @INC
DESCRIPTION
When testing applications, often you find yourself needing to provide functionality in your test environment that would usually be provided
by external modules. Rather than munging the %INC by hand to mark these external modules as loaded, so they are not attempted to be loaded
by perl, this module offers you a very simple way to mark modules as loaded and/or unloaded.
FUNCTIONS
$bool = mark_as_loaded( PACKAGE );
Marks the package as loaded to perl. "PACKAGE" can be a bareword or string.
If the module is already loaded, "mark_as_loaded" will carp about this and tell you from where the "PACKAGE" has been loaded already.
$bool = mark_as_unloaded( PACKAGE );
Marks the package as unloaded to perl, which is the exact opposite of "mark_as_loaded". "PACKAGE" can be a bareword or string.
If the module is already unloaded, "mark_as_unloaded" will carp about this and tell you the "PACKAGE" has been unloaded already.
$loc = is_loaded( PACKAGE );
"is_loaded" tells you if "PACKAGE" has been marked as loaded yet. "PACKAGE" can be a bareword or string.
It returns falls if "PACKAGE" has not been loaded yet and the location from where it is said to be loaded on success.
BUG REPORTS
Please report bugs or other issues to <bug-module-loaded@rt.cpan.org<gt>.
AUTHOR
This module by Jos Boumans <kane@cpan.org>.
COPYRIGHT
This library is free software; you may redistribute and/or modify it under the same terms as Perl itself.
perl v5.16.3 2013-03-04 Module::Loaded(3pm)
Check Out this Related Man Page
PM_WHICH(1p) User Contributed Perl Documentation PM_WHICH(1p)NAME
pm_which - find installed modules
SYNOPSIS
pm_which [ options ] module(s)
Returns the path to the given module(s)
OPTIONS
-q, --quiet Just print paths
-p, --paths Just convert the module name into a relative path
-a, --all Print all paths, not just the first one found
-n, --namespace Print all modules in the given namespace
-m Only print module names, not paths
-V Show module version
-I libpath Add a path to search (like perl -I)
-d, --dump Dump paths that would be searched (@INC by default)
-h, --help Print this message
-v, --version Print version information
- Read modules from stdin, one per line
DESCRIPTION
This tool reports the locations of installed perl modules.
By default it lists the location of each specified module that would be loaded by require.
OPTION DETAILS
quiet
Under quiet mode, module names are suppressed and missing modules are not reported.
Normal output:
$ pm_which Module::One Module::Two Missing::Module
Module::One - /path/to/Module/One.pm
Module::Two - /path/to/Module/Two.pm
Missing::Module - not found
Under --quiet:
$ pm_which -q Module::One Module::Two Missing::Module
/path/to/Module/One.pm
/path/to/Module/Two.pm
paths
In "paths" mode, each module is simply converted into a relative file path. This is possible even when the module is not installed.
$ pm_which -p Missing::Module
Missing/Module.pm
all
When the "all" switch is specified, all installed modules will be reported, not just the first one. This is useful for determining when
there is a module installed in multiple locations.
$ pm_which -a MyModule
/path/to/MyModule.pm
/home/me/perl/MyModule.pm
namespace
Arguments are taken as namespaces to search under.
$ pm_which -n MyModule
MyModule - /path/to/MyModule.pm
MyModule::Foo - /path/to/MyModule/Foo.pm
MyModule::Foo::Bar - /path/to/MyModule/Foo/Bar.pm
-m
Disables printing of module paths. This is only really useful in conjunction with --namespace.
$ pm_which -nm MyModule
MyModule
MyModule::Foo
MyModule::Foo::Bar
-V
Prints the version of each module, according to ExtUtils::MakeMaker.
$ pm_which -V MyModule
MyModule - /path/to/MyModule.pm [ 1.00 ]
$ pm_which -Vnm MyModule
MyModule [ 1.00 ]
MyModule::Foo [ 0.01 ]
MyModule::Foo::Bar [ undef ]
dump
Dumps the paths that would be searched and exits. This is @INC modified by any -I switches.
$ pm_which --dump
/usr/lib/perl5/site_perl/5.8.6
/usr/lib/perl5/vendor_perl/5.8.6
...
$ pm_which -I lib --dump -I blib/lib
lib
blib/lib
/usr/lib/perl5/site_perl/5.8.6
...
version
Prints the version number of the script, plus the version and path of Module::Util that was loaded.
EXIT CODES
o 0 - Everything was OK
o 1 - Initialisation failed (bad switches?)
o 2 - Some modules were not installed
SEE ALSO
This utility comes with Module::Util.
AUTHOR
Matt Lawrence <mattlaw@cpan.org>
perl v5.14.2 2012-06-08 PM_WHICH(1p)