結城浩のはてなブログ

ふと思いついたことをパタパタと書いてます。

WindowsのコマンドラインからTwitterを更新するPerlスクリプト

ActivePerlでNet::Twitterモジュールを使用してWindowsコマンドラインからTwitterを更新するPerlスクリプトです。
準備

C:\work> ppm install Net::Twitter        (Net::Twitterモジュールをインストール)

スクリプト(tw.pl)

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

my $yaml = 'tw.yaml';
my $conf = YAML::Syck::LoadFile($yaml) or die qq{$yaml:$!\n};
my $status = $ARGV[0] or die qq{$0 message (in $conf->{encoding})\n};
$status = encode('utf8', decode($conf->{encoding}, $status));
Net::Twitter->new( username => $conf->{username}, password => $conf->{password} )->update($status);

設定ファイル(tw.yaml)

username: your-name@example.com
password: xxxxxxxxxxxxxxxx
encoding: Shift_JIS

次のように実行すると「これはテストです」が書き込まれます。

C:\work> perl tw.pl これはテストです

バッチファイルを作るには
次のようにするとtw.batというバッチファイルが作られます。

C:\work> pl2bat tw.pl

こうしておけば、以下のようにしてTwitterが更新できます。

C:\work> tw これはテストです