質問者たちは、他の誰かが作ったスクリプトを意味も分からないまま業務に使おうとして、問題のスクリプトのことなどカケラも知らない私に質問してきていたのだ。これで問題が解決できるはずがない。考えても社会常識のある人間のすることではない。技術知識のあるなしの問題ではない。エラーが起きていない?それでも、BlatJの欠陥という可能性も否定できないので、大嫌いなPerlなのに、質問者から来たソースを調べてみた。さらなる衝撃が私を襲ったのである。「エラー発生時を想定したコードがぜんぜんない......」しばしば勘違いする人がいるが、エラー・メッセージはエラーが起きたときに自動的に出てくるものではない。エラーが起きたことを検出して、その結果としてメッセージを出力するようにプログラムを組まねば、出てこないものである。それが組み込まれていないプログラムは、エラーがあってもメッセージを出さずに黙って終了することになる。これは、常識的に考えれば欠陥プログラムである。正常に動作したのか失敗したのかもはっきりしないプログラムなど、怖くて使えるものではない。送られてきたPerlスクリプトは、その「怖くて使えるものではない」ものだったのだ。この件に関していえば、エラーは出ないのに送信されないのではない。エラーが起きているのに、その事実をユーザーに伝達する機能が最初から欠落しているだけなのだ。真相を突きとめるあるとき筆者は、このパターンで質問してきた者に逆質問して、どうしてこのような事態に立ち至ったのかを問いつめた。その結果、さらに驚愕の事実を知ることになった。エラー処理機能を欠いた欠陥スクリプトは、インターネット上で堂々と公開されていた。初心者でも手順どおりにやれば誰でもできます、という雰囲気で、一見優しく懇切丁寧に説明されている。確かに何のトラブルも起きなければ、その手順どおりでCGIのフォームから電子メールが送信される。ところが、トラブルが起きたときに対処する方法については触れられていない。現実の問題として、CGIにも、Perlにも、コマンドラインにも、インターネット電子メール・システムにも、素人がいきなり触れるとはまりやすい罠が存在する。いう意味で、このCGIスクリプトを、誰でもカンタンに使えますというのは適切ではない。そのうえ、BlatJが出力するエラー・メッセージをどこにも保存せず、ユーザーにも伝えないのでは、いったい何が悪くて電子メール送信に失敗したのか、調査する手がかりすらないことになる。こんな状況で、「電子メールが送信されません。してでしょう?」と聞かれても答えられる者などいないだろう。これは真相の前半でしかない。これだけでは、CGIスクリプトの実行に失敗したユーザーが、どうしてスクリプト作者ではなく、筆者に質問メールを送ってきたのか、その説明がつかないからだ。真相の後半とはズバリ、問題の欠陥スクリプトの作者が、いっさいの質問を拒否していたという事実である。スクリプト作者が質問を拒絶しているため、スクリプトの動作に失敗したユーザーは藁をもつかむ気持ちで、筆者に質問メールを送っていたのであった。BlatJに関する質問ならともかく、自分で作ったわけでもないスクリプトのことなど、訊かれても答えようがない。結論としては、素性も定かではない、責任も放棄している怪しげなスクリプトに、大切な業務システムを任せるという社会常識を欠いた行動に出たことが問題の根本原因といえるだろう。一言でいえば、「タダより高いものはない」ということだ。役に立つ無料のソフトも世のなかには存在するが、万一動作しなかったときに誰かがタダで助けてくれるという保証はない。絶対に動かさねばならない業務システムなどを運用する場合は、誰が動作を保証するのかが重要な問題である。そのためには、無料のソフトでも有償サポート業者と契約するのが王道である。確実を求めるなら、無料のソフトでも金は掛かるのが、本来あるべき常識である。以下は余談だが、このような事実に気付かずLinuxなら無料だと思い込んでいる困った人たちが多いと言う嘆きをLinuxの有償サポート業者から聞くこともある。2000の価格差は決定的なものではない。Ownership)という言葉を思い出そう。2005年9月27日付記この記事内で使用されている「常識」という言葉は、筆者の意図からすると過剰に強い意味で受け取られる可能性がある。この記事で使われる「常識」は「好ましい選択」という程度のニュアンスで受け止めていただきたい。過去の記事でもあり、本文の修正は行っていない。ENIXと契約して、ドラゴンクエスト2のMSXへの移植などの仕事を行う。2.1〜3.0の日本語化に従事。退職後に株式会社ピーデーの代表取締役に就任し、ソフトウェア開発業を始めるとともに、パソコン雑誌などに技術解説などを執筆。NT、Linux、FreeBSD、Java、XML、C#などの先進性をいち早く見抜き、率先して取り組んできている。代表的な著書は『パソコンにおける日本語処理/文字コードハンドブック』(技術評論社)。最近の代表作ソフトは、携帯用ゲーム機WonderSwanの一般向け開発キットであるWonderWitch用のプログラム言語『ワンべぇ』(小型BASICインタプリタ)。7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。TranslatorはPowerPoint用のアドイン。