From 40f17d1f4bd03c48cb89a6e70e9cd7a3259334c6 Mon Sep 17 00:00:00 2001 From: Nick Shipp Date: Sat, 3 Jun 2017 01:33:15 -0400 Subject: Initial commit --- mcpan | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100755 mcpan (limited to 'mcpan') diff --git a/mcpan b/mcpan new file mode 100755 index 0000000..9965e84 --- /dev/null +++ b/mcpan @@ -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 () { + chomp; + next if /^$/; + $commands{$command}->($_); + } +} else { + $commands{$command}->($_) for @ARGV; +} -- cgit v1.2.3-70-g09d2