---
name: "CPAN::API::HOWTO"
section: "3perl"
platform: "linux"
package: "perl"
version: "5.44.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/CPAN::API::HOWTO/3perl"
---

# CPAN::API::HOWTO(3perl)

a recipe book for programming with CPAN.pm

## NAME

CPAN::API::HOWTO - a recipe book for programming with CPAN.pm

## RECIPES

All of these recipes assume that you have put "use CPAN" at the top of your program.

### What distribution contains a particular module?

```
    my $distribution = CPAN::Shell->expand(
        "Module", "Data::UUID"
    )->distribution()->pretty_id();
```

This returns a string of the form "AUTHORID/TARBALL".  If you want the full path and filename to this distribution on a CPAN mirror, then it is `".../authors/id/A/AU/AUTHORID/TARBALL"`.

### What modules does a particular distribution contain?

```
    CPAN::Index->reload();
    my @modules = CPAN::Shell->expand(
        "Distribution", "JHI/Graph-0.83.tar.gz"
    )->containsmods();
```

You may also refer to a distribution in the form A/AU/AUTHORID/TARBALL.

## SEE ALSO

the main CPAN.pm documentation

## LICENSE

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

See \<http://www.perl.com/perl/misc/Artistic.html\>

## AUTHOR

David Cantrell
