GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
PM_WHICH(1) User Contributed Perl Documentation PM_WHICH(1)

pm_which - find installed modules

    pm_which [ options ] module(s)

    Returns the path to the given module(s)

    -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

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.

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

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

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

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

Disables printing of module paths. This is only really useful in conjunction with --namespace.

    $ pm_which -nm MyModule
    MyModule
    MyModule::Foo
    MyModule::Foo::Bar

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 ]

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
    ...

Prints the version number of the script, plus the version and path of Module::Util that was loaded.

  • 0 - Everything was OK
  • 1 - Initialisation failed (bad switches?)
  • 2 - Some modules were not installed

This utility comes with Module::Util.

Matt Lawrence <mattlaw@cpan.org>
2022-04-07 perl v5.32.1

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.