ちょっと入用になって Jcode.pm の OpenLab の Jcode.pm プロジェクトページから以前DLしておいた物をインスコ。といってもコピるだけ。インスコ用のスクリプトついてないし(´・ω・`)
コピー終了して既に組んであるスクリプトを実行してみると。
Undefined subroutine &Jcode::_Classic::euc_utf8 called at <Perlのパス>/lib/Jcode/_Classic.pm line 255
と出る。はて? インスコ失敗してたのけ? 該当個所を見てみる。よくわからん。load_module 関数が関係してそうだけど、load_module 関数を眺めてみても解らず。デバッグ表示ではパッケージはちゃんと require されてるっぽいしなぁ。
といった所でふと気付く。ああ、パッケージ名の修飾がないんだ。自作ライブラリだとちゃんとパッケージ化せずに内部で使う変数だけ $Hoge::variable_ とかして関数は require だけで呼べるようにしてたせいで勘違いしてた。
てことでパッケージ名を補ってやれば通るかな? パッケージ名は load_module 関数が返してるから、後は関数名を付け足してシンボリック参照辺りで何とかなるな。ってなんでそんなニッチな機能だけはすぐに思い出せるんだ俺……orz
であ実行( ・∀・)σぽちっとな
Can't use string ( snip ) as a subroutine ref while "strict refs" in use at <Perlのパス>/lib/Jcode/_Classic.pm line 256
……orz
もう訳わかんないんで誰か似たような事例と解決策教えてくだちぃ……orz