CPANDB(1)

πŸ“¦ version 0.220, in alpine 3.24

πŸ’– NAME πŸ’–

cpandb β€” interface to CPAN::SQLite, bestie. That's the whole name vibe. ✨

✨ VERSION ✨

This one is version 0.220 πŸŽ€

🌸 DESCRIPTION 🌸

okay so listen: this script is literally 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. Slay.

🫢 Common options 🫢

These options are common to both setting up and maintaining the database and performing queries on it. The shared besties are:

  • --CPAN '/path/to/CPAN' β€” this tells it where the index files are stored. It can be a local CPAN mirror, and you can spot that because there's a MIRRORED.BY file beneath this directory. Or it can be a local directory where you store these files from a remote CPAN mirror. In that second case, the index files are fetched from a remote CPAN mirror using the same list that CPAN.pm uses, if this is configured, and they're updated if they're more than one day old. If CPAN is not given, it defaults 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. Yes, bestie, those are the exact strings. πŸ’…
  • --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 options are used for setting up and maintaining the database. The lineup includes:

  • --setup β€” this specifies that the database is to be created and populated from the CPAN indices; any existing database will be overwritten. 🚨
🚨 warning: --setup overwrites any existing database. That is not a drill, bestie. πŸ’€
  • --update β€” this is used to update an existing database, which must have first been created with the setup option. No skipping steps. πŸ™ˆ
  • --reindex 'dist_name' β€” this specifies that the CPAN distribution dist_name is to be reindexed. Iconic. ✨

πŸ¦‹ 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. Periodt.

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. That's the whole tip, fr fr. πŸ“

🌈 SEE ALSO 🌈

CPAN::SQLite β€” go read that, bestie. πŸ’œ


πŸ’– cute sign-off: this page is from perl v5.42.2, dated 2026-02-15 🫢
πŸ“¦ where this page comes from