クリップボード内容をtwitterにポスト(OAuth版)

OAuth対応させるのに公開URLが必要みたいなのでここにコードのっけときます。
ネタ元はほとんど以下のコードです。
http://tech.bayashi.jp/archives/entry/perl/2010/003016.html

あとcygwin上でつかったりwinエディタ上からコマンドラインランチャ経由で呼び出すことがほとんどなので
入力文字コードはcp932前提としてます。途中のchompでおまじないしてるのもそういう理由です。

#!/usr/bin/perl
use strict;
use warnings;
use Net::Twitter::Lite;
use Encode;

my $str;
my %CONSUMER_TOKENS = (
    consumer_key    => '** CONSUMER_KEY **',
    consumer_secret => '** CONSUMER_SECRET **',
);
my $ACCESS_TOKEN        = '** ACCESS_TOKEN **';
my $ACCESS_TOKEN_SECRET = '** ACCESS_TOKEN_SECRET **';

while(<>){
	unless (my $eol) { ($/) = ($eol) = /(\x0d?\x0a|\x0d)$/; }; chomp;
	$str .= decode('cp932',$_);
}


my $twit = Net::Twitter::Lite->new(%CONSUMER_TOKENS);
$twit->access_token       ($ACCESS_TOKEN);
$twit->access_token_secret($ACCESS_TOKEN_SECRET);

$twit->update($str);
__END__

次ラッパースクリプトです。入力がクリップボードなだけですね。

#!/usr/bin/bash
getclip |~/bin/posttwitter.pl

うちではラッパースクリプトbluewindに登録して、文字列をカットし、bluewindからclと打鍵してこのラッパーを呼び出してtwitterにポストするといった使い方をしています。