cpangraph - Generate dependency chain graphs for CPAN modules


Version 0.12


  cpangraph [options] <file>

      --help            display a brief help message
      --perl=VERSION    filter those available in Perl core
      --phase=PHASE     filter those needed for a phase (e.g., build)
      --rankdir         controls the GraphViz 'rankdir' variable
      --reverse         graph reverse dependencies (dependents)
      --verbose         display additional debugging information



Prints a brief help message to the standard output and exits.


This displays dependencies which have been available in Perl core since the given VERSION. It does not currently know if a module has been removed from core, but this is an unlikely occurrence. Specify Perl versions in the form:

  5.008008 # for versions >= 5.8.8
  5.010    # for versions >= 5.10

This displays dependencies which are needed for a given module's install or runtime PHASE. Available phases are:

  • runtime: required whenever the module is used

  • build: required to build the module

  • configure: these are required while preparing the module for build


In GraphViz, the 'rankdir' attribute controls the direction that the nodes are linked together. If set, the graph will use left -> right linking of nodes rather than the default up-down linking.


Create a graph of the reverse dependencies of a package (the packages which depend on it, or dependent packages).


Display extra output useful during debugging.


This script will use the CPAN Database to build a graph of a package's dependencies or reverse dependencies (dependent packages).


Adam Kennedy <>


For support details, please look at perldoc CPANDB and use the corresponding support methods.


This has the same copyright and licensing terms as CPANDB.