読者です 読者をやめる 読者になる 読者になる

decadence

個人のメモ帳

RSS管理スクリプト

今日も今日とてPerlの練習

作成したものは,RSS管理スクリプト
Perlはこんな感じのターミナル上で動かす,ちょこちょこっとしたスクリプトを書くのに便利な気がする

ソースはこちら

説明

バッバっバッって見れて,パパパッと選べて,シュババババって開けるやつ

なぜ今更RSSなのか?

普段はてなブックマークなどのRSSで配信されているものを読む際に私は以下のようなアプローチを取っている

  1. 眺めながら,興味のある記事を⌘+クリックで別タブで開く
  2. そのRSSの一覧を見終えたら記事を1つずつ見る
  3. 1つの記事を見終える毎にそのタブを閉じていく

この1の処理をもっと効率良く行えないのか,というのが本スクリプトの目標である.

HowTo

簡単な使い方は以下の通り

  • 複数のRSSを登録
  • RSSの内容を表示
  • indexを指定して一度にデフォルトブラウザで記事を開く

上図のものを実行すると,下図のようになる

これは1つのRSSのみを表示しているのだが,おすすめはinteractive-modeと名付けたもの

myrss --interactive

と実行することで登録している全てのRSSを順に表示し,表示の度に開きたい記事を指定する.
全てのRSSを巡航し終えた所で,指定された記事を全てまとめて一度にブラウザに表示する.

RSSはちょこちょこ見るよりか,一度にババっと見てしまうのが良い気がするのでこのような機能もつけた.
一応逐一取得しにいくのも時間がかかるし,1時間程度のなんちゃってキャッシュもさせてる.

備考

globの挙動があまり理解出来なかった.

理解できなかった挙動例はこちら

ファイル操作関数に与えた際にループの偶数回目のみundefになっている?ようだが普通に利用する際にはundefになっていない.
それらしい記述はperldocでは以下ぐらいだが,なんか違う気がする...

In scalar context, glob iterates through such filename expansions, returning undef when the list is exhausted.

globはチルダをホームディレクトリへと展開するためのみに利用していたため,結果的に$ENV{"HOME"}を使ってglobを使わないようにした.


久しぶりだけど,取り敢えずPerl動くものは書けてる...?

広告を非表示にする