App-lcpan-Manual

 view release on metacpan or  search on metacpan

lib/App/lcpan/Manual/Cookbook.pod  view on Meta::CPAN


=head2 Listing distributions of other CPAN authors that depend on one of your modules [author]

    % lcpan author-rdeps YOUR-CPAN-ID --user-author-isnt YOUR-CPAN-ID

=head2 Listing distributions of other CPAN authors that recently depend on one of your modules [author]

    # Show dependencies that were added in the last 2 weeks
    % lcpan author-rdeps YOUR-CPAN-ID --user-author-isnt YOUR-CPAN-ID --added-since '2 weeks ago'

    # Show dependencies that were updated in the last 2 weeks
    % lcpan author-rdeps YOUR-CPAN-ID --user-author-isnt YOUR-CPAN-ID --updated-since '2 weeks ago'

    # Show dependencies that were not present before your last 'lcpan update'
    % lcpan author-rdeps YOUR-CPAN-ID --user-author-isnt YOUR-CPAN-ID --added-in-last-update

=head2 Showing what other distributions you will have to download and install when you install a module

TODO.

=head1 QUERYING DISTRIBUTIONS

lib/App/lcpan/Manual/Cookbook.pod  view on Meta::CPAN


=head2 Finding out who (which script's or module's POD) mentions your script [author]

 % lcpan mentions-for-script YOUR-SCRIPT

=head1 QUERYING MODULES

=head2 Comparing version of installed modules vs local CPAN versions

 % lcpan ver-cmp-installed
 % lcpan ver-cmp-installed --older-than-db                ;# outdated modules (modules that need to be updated)
 % lcpan ver-cmp-installed --older-than-db --exclude-core ;# noncore outdated modules (noncore modules that need to be updated)

The C<ver-cmp-installed> subcommand is distributed in
L<App::lcpan::CmdBundle::ver>.

This can also be done using tools like L<cpan-outdated> (from
L<App::cpanoutdated>) or L<cpan-outdated-coro> (from
L<App::cpanoutdated::coro>).

To update outdated modules:

 % lcpan-ver-cmp-installed --older-than-db | td select module | lcpanm -n

L<td> is provided by L<App::td>.

=head2 Listing recent modules

    # Show modules that were added in the last 2 weeks
    % lcpan mods -l --added-since '2 weeks ago'

    # Show modules that were updated in the last 2 weeks
    % lcpan mods -l --updated-since '2 weeks ago'

    # Show modules that were not present before the last 'lcpan update'
    % lcpan mods -l --added-in-last-index-update

There's also C<lcpan whatsnew>.

=head2 Sampling some random modules (1.063+)

 % lcpan mods    --random --result-limit 100
 % lcpan mods -l --random --result-limit 100

lib/App/lcpan/Manual/Tips.pod  view on Meta::CPAN

=head1 VERSION

version 1.065.000

=head1 DESCRIPTION

=head2 Filtering result rows

Some subcommands offer filtering rows by some criteria, e.g. C<lcpan mods> allow
selecting only modules from a certain author (C<--author>) or recentness in the
index (C<--added-since>, C<--updated-since-last-index-update>, etc). But
sometimes a subcommand does not offer filtering options or you need to filter
based on some other criteria. There's a utility L<td> (from L<App::td>) which
allows you to filter/transform result rows easily.

Some examples:

 # Show recently updated modules that are not released by PERLANCAR
 % lcpan mods --updated-since-last-index-update -l | td grep '$_->{author} ne "PERLANCAR"' --page

 # Show dependencies of App-lcpan to File::* modules
 % lcpan deps App-lcpan | td grep '$_->{module} =~ /^File::/' --page

=head1 SEE ALSO

=head1 AUTHOR

perlancar <perlancar@cpan.org>

lib/App/lcpan/Manual/Tutorial/700_SettingUpADarkPAN.pod  view on Meta::CPAN

you choose to use (e.g. L<Dist::Zilla>). The above command will make lcpan, via
L<OrePAN>, copy the file to the local CPAN mirror as well as modify
F<modules/02packages.details.txt.gz> to include the modules inside the
distribution.

B<However, the next 'lcpan update' will again remove your distribution from the
index as lcpan will synchronize to the remote CPAN index>. Either you never
update the CPAN mirror, or you re-inject your distributions after every 'lcpan
update'; both of which are not convenient. The future lcpan version will add a
pinning mechanism to retain your injected distribution and when that version is
released this page will be updated accordingly.

To start from an empty repository, you can use L<OrePAN>:

 % mkdir -p /path/to/your/darkpan
 % orepan.pl --destination=/path/to/your/darkpan --pause=YOURID /path/to/Your-Distribution-1.23.tar.gz

C<YOURID> is an arbitrary PAUSE-ID-like ID you can choose.

After that, to index this repository using lcpan, you can add these lines to
your lcpan configuration:



( run in 0.249 second using v1.01-cache-2.11-cpan-05444aca049 )