KiokuDBがちょっと前から気になってて、そしたらたまたまid:tokuhiromがブログで使い方などを書いてたので、それを見ながら試してみようと思いインストールしていたら、requiredに入ってるProc::InvokeEditorというモジュールが目につきました。なにをするモジュールだろと思って調べてみたら便利そうだったので紹介。

これ、なにをするモジュールかと言うとよくcvsとかsvnとかgitとかでコミットする際に「-m」でコメント指定しないとエディタが開いて編集させたりすると思うんですが、その挙動を簡単に記述できるようになるモジュールです。

use Proc::InvokeEditor;

my $unedited_text = '元々のテキスト';
my $edited_text = Proc::InvokeEditor->edit($unedited_text);
warn $edited_text; # 編集後のテキスト

こんな感じで、ものすごく簡単にあれと同じ挙動をさせられます。

あと使うエディタは自分で指定することもできるし、環境変数から拾ったりもできるようです。

デフォルトは下のような順番になってますね。
$ENV{'VISUAL'}, $ENV{'EDITOR'}, '/usr/bin/vi', '/bin/vi', '/bin/ed'

コマンドラインで動かすアプリがあったら今度使ってみようと思った。