1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
|
NAME
WWW::Shorten::Simple - Factory wrapper around WWW::Shorten to avoid
imports
SYNOPSIS
use WWW::Shorten::Simple;
my $svc = WWW::Shorten::Simple->new('TinyURL');
my $short_url = $svc->shorten($long_url);
my $canon_url = $svc->unshorten($short_url);
DESCRIPTION
WWW::Shorten::Simple is a wrapper (factory) around WWW::Shorten so that
you can create an object representing each URL shortening service,
instead of importing makeashorterlink function into your namespace.
This allows you to call multiple URL shortening services in one
package, for instance to call WWW::Shorten::RevCanonical to extract
rev="canonical", fallback to bit.ly if username and API key are
present, and then finally to TinyURL.
use WWW::Shorten::Simple;
my @shorteners = (
WWW::Shorten::Simple->new('RevCanonical'),
WWW::Shorten::Simple->new('Bitly', $bitly_username, $bitly_api_key),
WWW::Shorten::Simple->new('TinyURL'),
);
my $short_url;
for my $shortener (@shorteners) {
$short_url = eval { $shortener->shorten($long_url) } # eval to ignore errors
and last;
}
This wrapper works with most WWW::Shorten implementation that
implements the default makeashorterlink and makealongerlink functions.
The options should be able to be passed as an optional parameters to
makeashorterlink function.
METHODS
new
$svc = WWW::Shorten::Simple->new('TinyURL');
$svc = WWW::Shorten::Simple->new('Bitly', $bitly_username, $bitly_api_key);
Creates a new WWW::Shoten::Simple object. Takes a subclass name and
optional parameters to makeashorterlink call.
shorten
my $short_url = $svc->shorten($url);
Shortens the given URL. Aliases: makeashorterlink, short_link
unshorten
my $long_url = $svc->unshorten($short_url);
Unshortens the given URL. Aliases: makealongerlink, long_link
AUTHOR
Tatsuhiko Miyagawa <miyagawa@bulknews.net>
LICENSE
This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
SEE ALSO
WWW::Shorten, WWW::Shorten::RevCanonical
|