The Perl and Raku Conference 2025: Greenville, South Carolina - June 27-29 Learn more

#!perl
use strict;
use utf8;
App::pmdeps->new->run(@ARGV);
__END__
=head1 NAME
pm-deps - Fetch and show dependencies of CPAN module
=head1 SYNOPSIS
# Fetch dependencies of the latest Acme
$ pm-deps Acme
# Fetch dependencies of Acme (version 1.11111)
$ pm-deps Acme 1.11111
# Fetch dependencies of the latest Acme with specifying the target perl version
$ pm-deps --perl-version 5.008009 Acme
# Fetch dependencies of local module (It refers META.json or MYMETA.json)
$ pm-deps --local /path/to/your/awesome/module
# Fetch dependencies without specified phases.
$ pm-deps --without-phase configure,develop Acme # <= ignore dependencies of `configure` and `develop` phases.
# Fetch dependencies without specified types.
$ pm-deps --without-type recommends,suggests Acme # <= ignore dependencies of `recommends` and `suggests` types.
=head1 DESCRIPTION
This script fetches dependencies of CPAN module, and show them.
This application attempts to connect to metacpan to fetch dependencies.
And you can extract dependency information from the module on your local environment.
=head1 OPTIONS
=over 4
=item --local
--local /path/to/your/awesome/module
It extracts and shows the dependencies of the local module.
It looks META.json or MYMETA.json (It gives priority to META.json).
=item --perl-version
--perl-version version
It specifies the target perl version.
=item --without-phase
--without-phase phase
It ignores specified phases (e.g. configure, develop, etc...).
=item --without-type
--without-type type
It ignores specified types (e.g. requires, recommends, etc...).
=item --timeout
--timeout seconds
It specifies seconds of the threshold for timeout (This script attempts to connect to metacpan)
=back
=head1 AUTHOR
moznion C<< moznion@gmail.com >>