Quick Navigator

Search Site

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

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  MODULE::PMD_DUMP (3)

.ds Aq ’

NAME - Query and print Module::Dependency info


SYNOPSIS [options] object-patterns

object-patterns can be:

    f=S    - Select objects where field f equals string S
    f!=S   - Select objects where field f does not equal S
    f=~R   - Select objects where field f matches regex R
    f!~R   - Select objects where field f does not match R
    S$     - Same as filename=~S$ to match by file suffix
    S      - Same as key=S (i.e. package or filename)

For example:

    package=Foo::Bar         - that specific package
    package=~^Foo::          - all packages that start with Foo::
    filename=~sub/dir/path   - everything with that path in the filename
    filename=~\.pm$        - all modules$              - all files with names ending in
    foo                      - same as key=foo

Fields available are:

    filename         - "dir/subdir/"
    package          - "strict"
    key              - same as package for packages, or filename for other files
    filerootdir      - "/abs/path"
    depends_on       - "Carp strict Foo::Bar"
    depended_upon_by - "Other::Module dir/subdir/ dir2/ Another:Module"

Selected objects can be augmented using:

    -P=N   Also pre-select N levels of parent objects
    -C=N   Also pre-select N levels of child objects

Then filtered:

    -F=P   Filter OUT objects matching the object-pattern P
    -S=P   Only SELECT objects matching the object-pattern P

Then merged:

    -M     Merge data for selected objects into a single pseudo-object.
           Removes internally resolved dependencies.
           Handy to see all external dependencies of a group of files.
           The -P and -C flags are typically only useful with -M.

Then modified:

    -D     Delete dependencies on modules which werent indexed but can
           be found in @INC

Then dumped:

    -f=f1,f2,... - only dump these fields (otherwise all)

And for each one dumped:

    -p=N   Recurse to show N levels of indented parent objects first
    -c=N   Recurse to show N levels of indented child objects after
    -i=S   Use S as the indent string (default is a tab)
    -u     Unique - only show a child or parent once for a given item
    -U     Unique - only show a child or parent once in complete output
    -k     Dont show key in header, just the fieldname
    -h     Dont show header (like grep -h), used with -f=fieldname
    -s     sort by name
    -r=P   Show the relationship between the item and those matching P

Other options:

    -A     Dump all the data using Data::Dumper
    -help  Displays this help
    -t     Displays tracing messages
    -o=F   the location of the datafile
    -r     State the relationship, if any, between item1 and item2 - both may be scripts or modules.

EXAMPLE -o ./unified.dat Module::Dependency::Info

Select and merge everything in the database (which removes internally resolved dependencies) and list the names of all unresolved packages: -f=depends_on -h -M 

Do the same but feed the results back into to get details of what depends on those unresolved items: -f=depended_upon_by ` -f=depends_on -h -M ` | less -S


Module::Dependency modules rely on a database of dependencies. This tool allows you to query the index, verify that it contains what it should contain, look up module dependencies, etc.

The default location for the index file is $ENV{PERL_PMD_DB} or else /var/tmp/dependence/unified.dat but you can select another file using the -o option.


$Id: 6570 2006-06-27 15:01:04Z timbo $
Search for    or go to Top of page |  Section 3 |  Main Index

perl v5.20.3 PMD_DUMP (3) 2016-03-17

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