—#!perl
# ABSTRACT: Open a browser window with the URL of a CPAN module's repository
# PODNAME: cpan-repo
use
strict;
use
warnings;
use
Git::Helpers::CPAN ();
use
URI ();
my
$search
=
shift
@ARGV
;
die
"usage: cpan-gh [module or distribution name]"
unless
$search
;
my
$helper
= Git::Helpers::CPAN->new(
name
=>
$search
);
my
$repo
=
$helper
->repository;
my
$url
=
$repo
->{web} ||
$repo
->{url};
unless
(
$url
) {
q{Couldn't find repo URL for }
.
$helper
->release_name;
exit
;
}
my
$uri
= URI->new(
$url
);
if
(
$uri
->scheme &&
$uri
->scheme eq
'git'
) {
# Turn git://github.com/Perl-Critic/Perl-Critic.git into
$uri
->scheme(
'https'
);
my
$path
=
$uri
->path;
$path
=~ s{\.git$}{};
$uri
->path(
$path
);
}
open_browser(
$uri
);
__END__
=pod
=encoding UTF-8
=head1 NAME
cpan-repo - Open a browser window with the URL of a CPAN module's repository
=head1 VERSION
version 1.000001
=head1 SYNOPSIS
# search by module name
cpan-repo Git::Helpers
# search by release name
cpan-repo Git-Helpers
=head1 AUTHOR
Olaf Alders <olaf@wundercounter.com>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2015 by Olaf Alders.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut