| WWW-Shorten documentation | Contained in the WWW-Shorten distribution. |
WWW::Shorten::Linkz - Perl interface to lin.kz
use WWW::Shorten 'Linkz'; $short_url = makeashorterlink($long_url); $long_url = makealongerlink($short_url); $long_url = makealongerlink($nickname);
A Perl interface to the web site lin.kz. lin.kz simply maintains a database of long URLs, each of which has a unique identifier.
The function makeashorterlink will call the lin.kz web site
passing it your long URL and will return the shorter (Linkz) version.
Multiple submissions of the same URL will result in different codes being returned.
The function makealongerlink does the reverse. makealongerlink
will accept as an argument either the full Linkz URL or just the
Linkz identifier/nickname.
If anything goes wrong, then either function will return undef.
makeashorterlink, makealongerlink
See the main WWW::Shorten docs.
Iain Truskett <spoon@cpan.org>
WWW::Shorten, perl, http://lin.kz/
| WWW-Shorten documentation | Contained in the WWW-Shorten distribution. |
# $Id$
package WWW::Shorten::Linkz; use 5.006; use strict; use warnings; use base qw( WWW::Shorten::generic Exporter ); our @EXPORT = qw(makeashorterlink makealongerlink); our $VERSION = '1.90'; use Carp; #POST http://lin.kz/make.php # url= # <NONAME>=Shorten URL! (submit) # privkey= #
sub makeashorterlink ($) { my $url = shift or croak 'No URL passed to makeashorterlink'; my $ua = __PACKAGE__->ua(); my $resp = $ua->post( 'http://lin.kz/make.php', [ url => $url, ], ); return unless $resp->is_success; if ($resp->content =~ m! \Q<a href="\E(\Qhttp://lin.kz/?\E\w+)" !x) { return $1; } return; }
sub makealongerlink ($) { my $code = shift or croak 'No Linkz nickname/URL passed to makealongerlink'; my $ua = __PACKAGE__->ua(); $code = "http://lin.kz/?$code" unless $code =~ m!^http://!i; my $resp = $ua->get($code); my $location = $resp->header('Location'); return $location if defined $location; return; } 1; __END__