サーバへの導入完了。

 昨日から調べていたのですが、CPANからのダウンロードはできていたのですがmake testで引っかかっていたらしく、正常にインストールが完了していなかったようです。なので、

CPAN> force install Net::Twitter

として強引にインストールを実行したところ、とりあえずライブラリを自分のローカルにインストールすることができました。その後実行してみるとuse Net::Twitter文でSegmentation faultが出てしまいお手上げ…とおもいきや、使うperlを/usr/bin/perlから/opt/local/bin/perlに変更したところ正常に動くようになりました。この辺がMacの仕様でよく分からないところですね…。

 その後動かしていると、同じ内容のツイートを投稿するとはじかれてしまうことが分かったので、ランダムにつぶやく為のリストを用意して、そこから選んでつぶやくように書き換えました。同じツイートを投稿したときに生じるエラー、「Status is a duplicate」をperlで例外処理し、foreach文をやり直すようにしました。

eval {
$twit->update({
status => decode('utf8', $reply),
in_reply_to_status_id => $statusId});
};
if ($@) {
redo;
}

として例外をキャッチすることにしました。
 これで今のところエラー無く動いています。サーバ上で15分おきに更新しています。ツイッターIDは@FABS_togoです。