>>>2件の記事があります。

Jcode.pmを別のファルダに置いて使う場合

すみません、2015/12/04に加筆しております。
Jcode.pmを利用する場合、以前は下の通りに設定すれば問題なく動いていました。
しかし、ロリポップのサーバー移転を申し込んだところ、急に機能しなくなりました。
まさか、このことが原因だとは思わなかったので、相当はまりました。
試しに use lib ‘../’ の行を削除したところ、無事に動くようになりました。
なお、jcode.pmのファイルはcgiと同じフォルダに置く必要はないようです。

------------ 以下、以前までの投稿 ------------

jcode.plの場合は、例えば直ぐ上のディレクトリに置くのであれば下のように指定が簡単だが、
Jcode.pmの場合はちょっとややこしい。

require '../jcode.pl';

Jcodeをいくつかのcgiで使う場合は、直ぐ上のディレクトリに置けば
それだけサーバーにアップするファイルの量が減って、容量の節約になる。
まあ、ちょっとしたことだが、整然としたソースを書くことにも
つながると思うので覚えておいて損はないと思う。
余談はさておき肝心な指定コードだが、下の通りだ。

use lib '../';
use Jcode;

これが、調べてもなかなか見つからないから不思議だ。

いや~、完全にはまってしまった。

何かと言うと、utf-8のBOM付きtextファイルをBOM無しにする方法だ。
ファイルのみを扱うのであれば、UTF-8Nで保存すれば簡単にできそうだが、
phpでサーバーに書き出されたデータをBOM無しで直接読み込むのは
筆者のようにphpに疎いと巧くいかない。
色々と調べてみると、BOMのことをゴミと呼んでいる人もいるぐらいだから
やはり厄介なものなのかなぁ。
データを読み込んだところをSafariで見ると、確かにゴミみたいに表示されている。
IEやFirefoxだと一行分空いた感じになり、ソースを見ると影も形もない状態だ。
BOMの存在に気付かない間は、自分のコーディングが拙いと完全に思い込んでいた。
長い時間を費やしたにも拘わらず、残念ながら良い方法を見つけることはできなかった。
今回は付け焼刃的な処置だとは思うが、データの中で任意の文字以降を読み込むという
方法を採用することにした。
最初は2文字目以降という設定にしてみたが、巧くいかなかったので
3文字目以降と変更したところ巧く機能してくれた。
まあ、こんなことが何方かの役に立ってくれれば幸いだ。