トップ 最新

ただのにっき

2000-10-28(土) [長年日記]

Ruby 1.6

Ruby 1.6.1にしたら、今まで動いていたスクリプトが一部動かなくなっていてちょっと慌てる。こんなメソッド呼び出しがparse errorに。

foo.bar( p1, p2, )

まぁ、こんなよけいなコンマを付けている方が悪いのだが。でもArrayは余分なコンマがあってもいいんだよなぁ。

eGroups対策

さて、昨日から購読しているVisor-Village ML、ただでさえS/N比が低いのにeGroupsの広告が全メールの末尾に入ってひっじょーにうるさい。これ、受信するときに自動的にカットしちまおう(笑)。例によって自分で作るのは必要最小限にして、既存のツールを活用する。まず、広告部分をカットするフィルターをRubyで書く。eGroupsの広告は「---------- eGroups Sponsor ---------」みたいなセパレータの後ろに入っているので、こんな感じでいい(cut-egroupsスクリプト)。

#!/usr/bin/ruby
mail = ARGF.read
body, ad = mail.split( /^-+ eGroups Sponsor -+.*$/ )
print body

あとはprocmailやqmailの組み合わせで行く。まず、~/.procmailrcをこんな感じに。

:0
* ^TO_.*visor-valley@egroups.co.jp
| cut-egroups | qmail-inject sho-visor-village@spc15.tada

これで、Visor-Village MLのメールは、cut-egroupsを通って広告を排除されてからqmailのローカル配送コマンドqmail-injectによってsho-visor-village@spc15.tadaというアドレスに転送される。さらに~/.qmail-visor-villageというファイルを作って以下の1行を書いておけばおっけー。

./Maildir/.gadgets.visor-valley/

Maildirのgadgets/visor-villageというメールボックスに保存する設定だ。qmailは「ユーザ名-hogehoge」というアドレスをこんな風にユーザ権限で作れるから便利。これでうるさい広告とおさらばである♪