jcode.pl
利用上の注意

プログラム実行中に下記のように表示が出る場合があります。 確実な原因というのは把握できていないのですが、jcode.plのバージョンによるものと、 サーバ環境によるものが考えられます。

*main::val
     sjis

前者の場合、かなり古いバージョンのjcode.plやv2.3は利用を避けてみてください。 当サイトのプログラムにはjcode.pl-v2.3を梱包しているものがあります。 これが直ちにこの原因になるわけではないのですが、設置する環境との相性か、現実問題として不具合が生じる場合が報告されました。 たとえば、jcode.pl-v2.13に替えたところ問題が無くなったという報告もあります。

v2.0あたりのバージョンが安定しているものと思われますし、jcode.plを単純コード変換にしか当サイトのプログラムは使っていませんので、 新し過ぎても何か起きる可能性も否定できません。半角カナを全角に変換する処理があるプログラムについては、 少なくともv2.0以上のバージョンを使う必要があり、これは説明には書いてあると思います。 ダウンロードした中に不用意にも古いものが入っていた場合には、 お手数ですが別途ダウンロードをお願いします。

後者の場合、Perlはマルチスレッド機能が組み込まれている場合にjcode.plが使えなくなるそうです。 threads とはマルチスレッド機能のことで OS が pthreads(POSIXThreads) ライブラリを提供している場合組み込むことができます。 その場合は perl を make するまえに ./Configure -Dusethreads のように指定します。 つまり jperl のパッチとも関係なく、 -Dusethreads で作られた Perl では jcode.pl は使えません。 もし次のようにした場合に'define'と表示されたら、マルチスレッド機能が組み込まれていることになり、 jcode.plは使えませんので、サーバ管理者にthreadsを無効にして再組み込みしてもらう必要があります。

# perl -V:usethreads
usethreads='define';


[戻る]