[kansaipm] Re: [kansaipm] 暗黙のuse utf8
Yasushi Nakajima
nakajima at netstock.co.jp
Sun Oct 5 21:18:56 CDT 2003
Dan> ああ、多分これだ!状況によってutf8_heavy.plが読み込まれるかどうかというのは、読み込んだXMLデータ中に、<本当の>、すなわち
Dan> \x80 よりもordが大きな文字が含まれるかどうかによって決まるわけです。すなわち
Dan>
Dan> $cpt->reval(qq/print "Hello, World\n"/); # OK
Dan> $cpt->reval(qq/print "世界にようこそ\n"/); # NG
Dan>
私も最初はそう思いました。ところが、\x7fまでの文字だけで構成されたコー
ドでも起こるんです。
Dan> ですから、これはもう素直に上記のような方法で、先に utf8_heavy.pl をあらかじめ require しておいた方がいいでしょう。
実行時に芋づる式にrequireされるモジュールがたくさんあるようで、
utf8_heavyだけをrequireしておくのではうまくいきません。
まだ単独で再現できるコードが示せないのですが、XPDFJに与えるとこの現象
が起きるXMLデータはかなり短いところまで追いつめました。
<?xml version="1.0" encoding="x-sjis-cp932"?>
<XPDFJ version="0.1">
<do a="200">
<eval eval="$Args{a} =~ /\d/"/>
</do>
</XPDFJ>
<do>は属性をSafe環境内の%Argsにセットして、内容を実行します。<eval>は
eval属性の値をrevalします。
--
Yasushi Nakajima <nakajima at netstock.co.jp>
More information about the Kansai-pm
mailing list