読者です 読者をやめる 読者になる 読者になる

初代Masteries

きっとモヒカンにもなれないお前たちに告げる!!!

コマンドラインからtwitterをつぶやける君を書いた

perl troubleshooting

コマンドラインからtwitterに発言できるスクリプト, twinchanを書いてみました.

#!/usr/bin/env perl
use strict;
use warnings;

use Config::PL;
use Encode;
use File::Spec::Functions qw/catfile/;
use Net::Twitter::Lite::WithAPIv1_1;

my $twitter_keys = config_do catfile($ENV{HOME}, '.twinchan.rc');
my $nt = Net::Twitter::Lite::WithAPIv1_1->new(
    consumer_key => $twitter_keys->{consumer_key},
    consumer_secret => $twitter_keys->{consumer_secret},
    access_token => $twitter_keys->{access_token},
    access_token_secret => $twitter_keys->{access_token_secret},
);

if ($ARGV[0]) {
    my $tweet = decode_utf8($ARGV[0]);
    my $tweet_length = length $tweet;

    if ($tweet_length > 140) {
        print "too long tweet!\n";
    } else {
        print "submit?\n";
        print "$ARGV[0]\n";
        print "[y/n] >>>";
        chomp(my $input = <STDIN>);

        if ($input =~ /^[yY]/) {
            $nt->update($tweet);
        }
    }
}

exit;

ツイートの長さが140字以上だったら警告を出したり, つぶやく前に確認できるようにしたりしてあります.

Net::Twitter::Liteを使うと, 簡単にTwitter APIを操作できるので便利ですね!

Crypt::SSLeayの話

...ぶっちゃけ, こっちが本題です.
UbuntuなどのLinux環境において, Net::Twitter::Liteの依存モジュールであるCrypt::SSLeayのインストールに失敗する場合があります.

これに関しては, sugyanさんのブログの「Crypt::SSLeayがLANGの関係でインストールできないとき」という記事にまとまっていますが,

$ LANG=C cpanm Crypt::SSLeay

でインストールするとよいようです.