OSX Leopard で Terminal から TwitterにPOSTする
TwitterにPostするために専用クライアントへ切り替えるのが面倒になってきたため、投稿用に書いた。文字化けを防ぐために、Encode::Guess使って判定してる。
#!/usr/bin/perl use warnings; use strict; use Encode::Guess qw/shift-jis euc-jp 7bit-jis/; use Net::Twitter; my $twitter = Net::Twitter->new( username => 'username', password => 'password', ); my $post = $ARGV[0]; my $decoder = Encode::Guess->guess($post); ref($decoder) || die "Can't guess: $decoder"; $post = $decoder->decode($post); $twitter->update($post);
名前をtwitterにして保存。これをPATHの通っているところに置いて、権限を変更しておく。
sudo cp twitter /usr/local/bin/twitter sudo chmod 755 /usr/local/bin/twitter
最初の引数しか見ない状態になってるので、文章中に半角スペースを途中で挟むとそれ以降はポストされないから注意が必要。