GoogleがURLの短縮を始めたとのことで、もしかしたら窮地に陥っているかもしれませんが、個人的にはURLの短縮なんてGoogleさんがやらんでも!って感じでbit.lyさんを応援したい今日この頃。

というわけで、perlを使ったbit.ly APIによるURL短縮。
別のシステムに組み込んだものを、この記事用に書き換えたので、もし動かなかったらごめんなさい!

#!/usr/bin/perl -wT

use strict;
use warnings;
use JSON::XS;
use LWP::Simple;
use URI::Escape;

my $baseurl = shift @ARGV; # 短縮したいURL

my $bituser = ''; # bit.lyのユーザー名
my $bitkey = ''; # bit.lyのapiキー
my $apiurl = 'http://api.bit.ly/shorten?version=2.0.1&login=%s&apiKey=%s&longUrl=%s';
my $bitly = sprintf($apiurl,$bituser, $bitkey, $baseurl);

my $res = decode_json(get(uri_escape($bitly)));
my $shortURL = $res->{results}->{$baseurl}->{shortUrl};

print $shortURL;
exit;