The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

TinyURL::RU - shorten URLs with byst.ro (aka tinyurl.ru)

SYNOPSIS

    use TinyURL::RU qw(shorten lengthen);
    my $long  = 'http://www.whitehouse.gov/';
    my $short = shorten($long);
    $long     = lengthen($short);

DESCRIPTION

This module provides you a very simple interface to URL shortening site http://byst.ro (aka http://tinyurl.ru).

FUNCTIONS

$short = shorten($long [, $prefix, $suffix, %options])

Takes long URL as first argument and returns its tiny version (or undef on error).

Optionaly you can pass $prefix and/or $suffix for tiny URL and some other options.

$prefix will be used as subdomain in shortened URL.

$suffix will be used as path in shortened URL.

Note: passing $prefix and/or $suffix may cause shortening fail if $prefix or $suffix is already taken by someone.

%options are:

increment

Lets you to re-use same (almost) $suffix for different URLs.

Implemented by automatical appending of an incremental number (starts with 1) on repeated requests with the same $suffix.

Note: this options works only with $suffix passed.

Simple example:

    $short = shorten($long1, 'hello');          # $short eq 'http://hello.byst.ro/'
    $short = shorten($long2, 'hello', 'world'); # $short eq 'http://hello.byst.ro/world'

Incremental example:

    $short = shorten($long1, undef, 'hello');                # $short eq 'http://byst.ro/hello'
    $short = shorten($long1, undef, 'hello');                # short is undefined because 'hello' suffix already exists for $long1
    $short = shorten($long2, undef, 'hello', increment => 1) # $short eq 'http://byst.ro/hello1'
    $short = shorten($long3, undef, 'hello', increment => 1) # $short eq 'http://byst.ro/hello2'

$long = lengthen($short)

Takes shortened URL (or its path part) as argument and returns its original version (or undef on error).

AUTHOR

Алексей Суриков <ksuri@cpan.org>

NOTE

There is a small convenience for you: a plugin for WWW::Shorten comes with this distribution.

See WWW::Shorten::TinyURL::RU.

SEE ALSO

WWW::Shorten::TinyURL::RU

http://byst.ro/

http://tinyurl.ru/

LICENSE

This program is free software, you can redistribute it under the same terms as Perl itself.