---
name: "cpandb"
section: "1p"
platform: "linux"
package: "libcpan-sqlite-perl"
version: "0.220-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/cpandb"
---

# cpandb(1p)

interface to "CPAN::SQLite"

## NAME

cpandb - interface to "CPAN::SQLite"

## VERSION

version 0.220

## DESCRIPTION

This script is an interface to the routines of CPAN::SQLite for setting up, maintaining and searching a `"DBD::SQLite"` database of CPAN. Available options can be grouped into three categories.

### Common options

These are options which are common to both setting up and maintaining the database or performing queries on it. These are

- •

  `"--CPAN  '/path/to/CPAN'"`

  This specifies the path to where the index files are to be stored. This could be a local CPAN mirror, defined here by the presence of a *MIRRORED.BY* file beneath this directory, or a local directory in which to store these files from a remote CPAN mirror. In the latter case, the index files are fetched from a remote CPAN mirror, using the same list that `"CPAN.pm"` uses, if this is configured, and are updated if they are more than one day old.

  If the `"CPAN"` option is not given, it will default to `"cpan_home"` of CPAN::, if this is configured, with the sources being found under `"keep_source_where"`. A fatal error results if such a directory isn't found. Updates to these index files are assumed here to be handled by `"CPAN.pm"`.

- •

  `"--db_name  'cpan-sqlite'"`

  This is the name of the database that `"DBD::SQLite"` will use. If not given, this defaults to `"cpandb-sqlite"`.

- •

  `"--db_dir  '/path/to/db/dir'"`

  This specifies the path to where the database file is found. If not given, it defaults to the `"cpan_home"` directory of `"CPAN.pm"`, if present, or to the directory in which the script was invoked.

### Indexing options

These are options which are used for setting up and maintaining the database. These include

- •

  `"--setup"`

  This specifies that the database is to be created and populated from the CPAN indices; any existing database will be overwritten.

- •

  `"--update"`

  This is used to update an existing database, which must have first been created with the `"setup"` option.

- •

  `"--reindex 'dist_name'"`

  This specifies that the CPAN distribution `"dist_name"` is to be reindexed.

### Querying options

These options are used to query the database. Available options are

- •

  `"--module Mod::Name"`

  This provides information on the specified module name.

- •

  `"--dist Dist-Name"`

  This provides information on the specified distribution name.

- •

  `"--cpanid CPANID"`

  This provides information on the specified CPAN author id

All search terms are assumed to be exact matches in a case-insensitive manner.

There's no limit on maximum number of records. If you need to adjust the number because you get too many results, set the CPAN\_SQLITE\_MAX\_RESULTS environment variable.

## SEE ALSO

CPAN::SQLite.
