File: rev_deps-recursive.pl

package info (click to toggle)
libmetacpan-client-perl 2.029000-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 548 kB
  • sloc: perl: 2,540; makefile: 8
file content (35 lines) | stat: -rw-r--r-- 711 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35

# examples/rev_deps-recursive.pl

use strict;
use warnings;
use Term::ANSIColor;
use MetaCPAN::Client;

$|=1;

my $dist  = shift || 'Hijk';
my $mcpan = MetaCPAN::Client->new;

print "\n\n", colored( "* $dist", 'green' ), "\n";
dig( $dist, 0 );

sub dig {
    my $dist  = shift;
    my $level = shift;

    my $res   = $mcpan->reverse_dependencies($dist);

    while ( my $item = $res->next ) {
        if ( $level ) {
            printf "%s%s\n",
                colored( '....' x $level, 'yellow' ),
                $item->distribution;
        } else {
            printf "\n>> %s\n",
                colored( $item->distribution, 'blue' );
        }

        dig( $item->distribution, $level + 1 );
    }
}