Matthew Lawrence > Module-Util-1.09 > pm_which

Download:
Module-Util-1.09.tar.gz

Annotate this POD

CPAN RT

Open  1
View/Report Bugs
Source  

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 ^

SEE ALSO ^

This utility comes with Module::Util.

AUTHOR ^

Matt Lawrence <mattlaw@cpan.org>

syntax highlighting: