NAME
App::cpanurl - Get distribution URL from module name and version
CAUTION
This module is alpha release. Features will be changed without warnings.
SYNOPSIS
# http://cpan.metacpan.org/authors/id/S/SR/SRI/Mojolicious-3.82.tar.gz
cpanurl Mojolicious 3.82
# http://cpan.metacpan.org/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz
cpanurl LWP 6.04
cpanurl libwww-perl-6.04
# http://cpan.metacpan.org/authors/id/S/SR/SRI/Mojolicious-3.82.tar.gz
# http://cpan.metacpan.org/authors/id/K/KI/KIMOTO/DBIx-Custom-0.23.tar.gz
cpanurl -f module.txt
# module.txt
Mojolicious 3.82
DBIx::Custom 0.23
DESCRIPTIONS
Get module URL
You can get module URL.
# http://cpan.metacpan.org/authors/id/S/SR/SRI/Mojolicious-3.82.tar.gz
cpanurl Mojolicious 3.82
If you want to get many module urls, you can use -f
option and module file.
cpanurl -f module.txt
Module file is the following format.
Mojolicious 3.82
DBIx::Custom 0.23
You can get the following output
http://cpan.metacpan.org/authors/id/S/SR/SRI/Mojolicious-3.82.tar.gz
http://cpan.metacpan.org/authors/id/K/KI/KIMOTO/DBIx-Custom-0.23.tar.gz
Module installation
Use cpanm with cpanurl
to install modules.
cpanurl Mojolicious 3.82 | cpanm
If you want to install many modules, you can create module file.
# module.txt
Mojolicious 3.82
DBIx::Custom 0.23
And use -f
option to read this file.
cpanurl -f module.txt | cpanm
Module name is different from distribution name
Some module name is different from disttribution name. cpanurl
is automatically resolve this relation.
# Module name Distribution name
LWP libwww-perl
IO::Compress::Base IO-Compress
Cwd PathTools
File::Spec PathTools
List::Util Scalar-List-Utils
Scalar::Util Scalar-List-Utils
Template Template-Toolkit
If you want to use distribution name, pass one argument.
cpanurl libwww-perl-6.04
You can use Module name or distribution name.
# both OK
cpanurl LWP 6.04
cpanurl libwww-perl-6.04
# both OK
cpanurl Cwd 3.40
cpanurl PathTools-3.40
When URL is passwd to argument
cpanurl http://somehost.com/Foo-0.01.tar.gz
cpanurl https://somehost.com/Foo-0.01.tar.gz
If URL which start http://
or https://
is passed to argument, That URL is passed through to output.
# Output
http://somehost.com/Foo-0.01.tar.gz
https://somehost.com/Foo-0.01.tar.gz
HTTP client
cpanurl use two HTTP client as necessary.
These module is used to get module URLs from metaCPAN.
If LWP::UserAgent 5.802+ is installed, LWP::UserAgent is seleced. If not, HTTP::Tiny is selected.
--lwp
option force LWP::UserAgent.
cpanurl --lwp Mojolicious 3.82
--no-lwp
option force HTTP::Tiny.
cpanurl --no-lwp Mojolicious 3.82
HTTP proxy
export http_proxy=http://hostname:3001
http_proxy
environment variable enable you to use proxy server.
HTTP proxy authentication
export http_proxy=http://username:password@hostname:3001
If LWP::UserAgent 5.802+ is installed, proxy authentication is available. HTTP::Tiny don't support proxy authentication.
LICENSE AND COPYRIGHT
Copyright 2013 Yuki Kimoto.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.