晶2001/03/13隠れた大人気ソフトBlatJ筆者はこのあたりを始め大量のオンラインソフトを公開しているが(本人も数を把握していない)、そのなかでもダントツで人気が高いのがBlatJである。知らない人は名前も聞いたことがないソフトだと思うが、ネットワーク管理者などの関係では定番ソフトの一つである。NT/2000のコマンドラインから、インターネット・メールを送信可能にする。ここではコマンドラインに関する説明は省くが、BlatJが真に活躍するのは実はコマンドライン上ではなく、バッチのなかである。バッチとは、あらかじめ定めた手順の処理を自動実行させる機能である。いちいち操作しなくても手順が進んで便利なので、定型作業を山ほど抱えたネットワーク管理者なら(楽をするために)使いこなせて当然、というぐらいのものだ。いちいち人間が結果を見守っているわけではないから、結果は電子メールで管理者に送りたいと考えるのが自然だ。NT/2000にはその機能が標準で入っていない。いうわけで、こんなソフト欲しいなといわれて、筆者も欲しかったので、英語版のBlatというパブリックドメイン・ソフトウェアを日本語化した。Perlスクリプトを送ってくる人たちBlatJを公開してしばらくすると、奇妙なメールを何度も受け取るようになった。互いに無関係と思われる人たちが、奇妙に似通った質問メールを送ってくるのだ。内容はどれも、「CGIのフォームから電子メール送信できない」というものであった。実現方法として、PerlのCGIスクリプトからBlatJを呼び出しているという点で共通していた。コマンドラインから直接BlatJを呼び出せば送信できるが、CGIスクリプトから送信しようとするとエラーは出ないのに送信されないという。最初に筆者が思ったのは、スクリプトからのBlatJの呼び出しが失敗しているのではないか、ということだ。CGIスクリプトはユーザー自身の権限と違うアカウントで実行されることが多く、環境変数などが同じとは限らない。アクセスされるレジストリも同じではない。BlatJが呼び出されているか確認してくれ、という返事を書いていた。「自分で書いたスクリプトなんだから、それぐらいできるでしょう?」と私は思っていたからだ。