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"