実は以前にもterminalでtwitterとかは試みていたのだけど、今回はそれとは別に作り直した。Twitermの中身AnyEventを使ってイベント駆動な動作をするように作った。キー入力による表示の変更タイマーによるタイムラインの自動更新API使用によるタイムライン更新この3つをそれぞれAnyEventを使って行うことによって、それぞれの処理待ちによって他の処理がブロッキングされないようにした。AnyEvent::Twitterを使用。$self->{twitter}->start;だいたいこんな書き方でいいのかな?少しずつAnyEventを使った書き方が分かってきた。あとはMouseを使ってタイムラインの情報を整理するようにし、メインのスクリプトではうまいこと表示できるようにゴニョゴニョとめんどくさい処理をやっている。キレイにリスト表示されるようにターミナル幅にあわせて1行に区切るために、id:myfinderさんに教えていただいたUnicode::EastAsianWidthを使用している。今後まだfriends_timelineを閲覧することしかできないので、repliesも見られるようにしたいのでIRCクライアントでのchannel切り替えのようにページを切り替える処理を追加したい。retweetを行うことができるようにしたい。当然のことながらWassrも同様に使えるようにしたい。AnyEvent::Wassrが必要だ...!!テストも全然書いてない。