[1] manakai は、 Perl で 822 メッセージ (電子メイルや電子ニュースのメッセージ) や XML 実体などを取扱うためのモジュール群です。
[2] Perl で使える 822/MIME 処理モジュールは他にも色々ありますが、
どれも不必要にプロトコルを意識することなく使えるものとは言えません。
たとえば、 From
欄の
display-name
の値を指定する時に
token
と quoted-string
は自動的にどちらが適当か選んで欲しいですし、
本文が ISO-2022-JP
でも
UTF-8
でも外側からは同じように扱える方が嬉しいです。
manakai の Message::Entity
系モジュール群がこれを実現します。
[3] いつの間にか大所帯化していますが...
Message::Entity
系: 822 メッセージを扱います。Message::Markup::XML
系:
XML 文書を扱います。Message::DOM
系:
DOMの実装です。Message::Util::Formatter
系:
雛形と引数から結果を作るための汎用モジュール群です。Message::Util::Error
系:
Error
モジュールの subclass
で、誤りの型 (種類) を定義して使うことができます。[4] CVS repository から入手できます。
IW:SuikaCVS:"messaging/manakai/"
通常は幹の先端をどうぞ。 大規模な実験はたまに枝でやってます。 安定版は今はありません。 詳しくは manakai//CVS をご覧下さい。
[5] perlと同じライセンスです。
新しいモジュールは、諸般の都合によりperlと同じライセンスまたはMPL/GPL/LGPLから選択できるようになっています。
[6] この wiki の manakai//* の文書群の中には古いものが多いので注意してください。
Message::Entity 系 (Message::Field::*, Message::MIME::* など) の開発は現在停止状態です。一応一通り使える状態にはなっています。 (開発者は普段メイル書くのに使っているらしいです。) この系統は pod がいい加減なので何とかしたいと思っていますが手が回りません。 内部構造も大改造したいのですが、 当分先になるでしょう。
Message::Util::Formatter や Message::Util::Error は SuikaWiki 3 で大々的に使っているので最近までちょくちょくいじっていましたが、大分安定してきました。
Message::Markup::XML 系も SuikaWiki で使っています。 こちらは今 Parser 書きなおし中です。 DOM が微妙に実装してありますが使い物にならないので Parser ができたらなんとかします。 (名無しさん 2004-04-25 11:52:18 +00:00)
[7] wakaba/manakai: (OBSOLETE: See http://manakai.github.io/ ) manakai - Perl modules for Web and Email standards, https://github.com/wakaba/manakai