CPAN-FindDependencies
view release on metacpan or search on metacpan
bin/cpandeps-diff view on Meta::CPAN
open(my $fh, '>', ".cpandeps-diff/$finddeps_args{perl}/$module") ||
die("Couldn't write $ENV{HOME}/.cpandeps-diff/$finddeps_args{perl}/$module: $!\n");
print $fh _get_deps($module);
close($fh);
}
sub _remove {
my $module = shift;
die("'$module' isn't in the database.\n\n"._help()) unless(grep { $_ eq $module } _list());
unlink(".cpandeps-diff/$finddeps_args{perl}/$module");
}
sub _print_list { print "$_\n" foreach (_list()); }
sub _print_help { print _help(); }
sub _help { return $help; }
=head1 NAME
cpandeps-diff - generate reports when modules' dependencies get new releases
=head1 SYNOPSIS
cpandeps-diff add Some::Module --perl 5.30.3 --mirror file:///home/me/cpanmirror
cpandeps-diff list
cpandeps-diff report Some::Module
=head1 COMMANDS
cpandeps-diff takes at most one of several different commands, some of which in
turn take more arguments:
=head2 add $module [@args]
Add the named module to the list of modules we care about
=head2 remove $module [@args]
Stop reporting on this module
(aliases: delete; rm)
=head2 list
Show which modules we're going to report on
=head2 report $module [@args]
Generate a report for just this one module
=head2 [@args]
If you don't provide a command then it will generate a report about all known
modules.
=head2 help
Can you guess what this does?
=head1 ARGUMENTS
=head2 perl $version
Use this version of perl for figuring out what's in core. Any dependencies
that are in core will not be reported on unless a newer version is required.
If not specified it defaults to 5.005.
Note that adding, removing and reporting on modules always depends on the
version of perl, so as well as being used to figure out what's in core
you can also have different lists of modules for different versions of perl.
=head2 mirror $mirror
Use this CPAN mirror to fetch dependency information from (see
L<CPAN::FindDependencies> documentation for details). You may provide this
argument as many times as you want.
=head1 FILES
Data is stored in a directory called .cpandeps-diff, which by default
is under your home directory. If you want to put it somewhere else
(you probably don't) then set CPANDEPS_DIFF_DIR in your environment. That
data includes a cache of data fetched from the CPAN which will be automatically
cleared out after 23 hours. This cache helps to generate reports for multiple
modules more quickly, and also to prevent you from being rate-limited or
even kicked off CPAN mirrors.
=head1 WARNINGS, BUGS and FEEDBACK
This script has not been thoroughly tested.
I welcome feedback about my code, including constructive criticism.
Bug reports should be made on Github or by email.
=head1 AUTHOR, LICENCE and COPYRIGHT
Copyright 2007 - 2026 David Cantrell E<lt>F<david@cantrell.org.uk>E<gt>
This software is free-as-in-speech software, and may be used,
distributed, and modified under the terms of either the GNU
General Public Licence version 2 or the Artistic Licence. It's
up to you which one you use. The full text of the licences can
be found in the files GPL2.txt and ARTISTIC.txt, respectively.
=head1 CONSPIRACY
This software is also free-as-in-mason.
=cut
( run in 1.329 second using v1.01-cache-2.11-cpan-7fcb06a456a )