# 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 );
}
}