diff options
| author | Nick Shipp <nick@shipp.ninja> | 2017-06-03 01:33:15 -0400 | 
|---|---|---|
| committer | Nick Shipp <nick@shipp.ninja> | 2017-06-03 01:33:15 -0400 | 
| commit | 40f17d1f4bd03c48cb89a6e70e9cd7a3259334c6 (patch) | |
| tree | 5984140fe779d76aac734bf0cc1474c2a03bddce /mcpan | |
Diffstat (limited to 'mcpan')
| -rwxr-xr-x | mcpan | 35 | 
1 files changed, 35 insertions, 0 deletions
| @@ -0,0 +1,35 @@ +#!/usr/bin/env perl + +use MetaCPAN::Client; +use feature 'say'; + +my $mc = MetaCPAN::Client->new; + +my %commands = ( +    pod => sub { +        say $mc->pod(shift)->plain; +    }, +    url => sub { +        say $mc->download_url(shift)->download_url; +    }, +    describe => sub { +        say $mc->module(shift)->abstract; +    }, +    src => sub { +        say $mc->module(shift)->source; +    }, +); + +die "Usage: $0 <${\join '|',keys %commands}> [MODULE]" unless @ARGV; +my $command = shift; +die "No such command: $command" unless exists $commands{$command}; + +if (@ARGV == 0 or $ARGV[0] eq '-') { +    while (<STDIN>) { +        chomp; +        next if /^$/; +        $commands{$command}->($_); +    } +} else { +    $commands{$command}->($_) for @ARGV; +} | 
