[Tokyo-pm] Jcode-1.99.04 released -- Now at openlab.jp
Kazumasa Utashiro
utashiro @ iij.ad.jp
2005年 2月 15日 (火) 10:20:02 PST
かなりどうでもいいことですが、目に止まったので一応…
Which is more elegant than;
$iso_2022_jp = &jcode::convert(\$str,'jis',jcode::getcode(\str), "z");
とありますが、入力コードを指定しないでオプションを与えたい時には、
undef を指示できますし、そうする方が自然です (ただ、陽にドキュメントは
されていませんね)。
それと、変換した結果の文字列は関数値としては返ってきません。
さらに細かくて申し訳ありませんが、$ が抜けてますね。& の有無も統一した
方がいいかな。って、今ごろ言うなって話ですよね、ごめんなさい。始めて読
んだので…
* * *
以下蛇足:
ついでなので、今までちゃんと説明したことがなかったかもしれないので書い
ておきますと、jcode.pl のインタフェースをああいう風にしたのは、
# converts mailbox to SJIS format
my $jconv = new Jcode;
$/ = 00;
while(<>){
print $jconv->set(\$_)->mime_decode->sjis;
}
のようなプログラムを書いて欲しくなかったからです (syntax error になるか
らではありません :)。
おそらく弾さん自身は、実際にはこういうプログラムは書かないんですよ。で
も、少くない数のプログラマは、10000行の中に100行だけ日本語を含むファイ
ルを変換するとしても、こういうプログラムを書いちゃうでしょう。さらに、
日本語を含むファイルが10000個のうちの100個だけだったとしても、同じプロ
グラムで全部のファイルを処理しちゃうかもしれない。桁が1つや2つや3つや4
つシフトしてもきっと同じ。
その時に、何もしないためだけにデータをコピーするオーバーヘッドを想像す
るのは耐えられなかった。というのが12年前の考えです。今でも根本的な考え
方は変わらないかな。富豪理論には反対していません。むしろ支持しています。
--utashiro
Tokyo-pm メーリングリストの案内