Can't locate unicore/PVA.pl in @INC (@INC contains: ~@INCのパス~) at /data/data/com.googlecode.perlforandroid/files/perl/5.10.0/utf8_heavy.pl line 97,というメッセージが出力された。これはhide_o_55氏のline xxx.
SL4AのPerl for Androidでマルチバイト文字を使う際に落ちる件
に書かれている手順でAndroid.pmのdo_rpc()を修正することで動くようになる。
しかし、日本語をファイルへ出力しようとすると、
Wide character in print at スクリプト名 line xxx,となり内部エンコードのまま出力されている。EncodeがあればいいのだがSL4A + Perl にはない。コンパイルするのも手間がかかりそう。line yyy.
ということで、unicore/PVA.pl を用意してみる。
SL4AのPerlにはPVA.plを作成するのに必要なモジュールの一部がないので実行はLinux PCで。
SL4AのPerlのバージョンが5.11.0なので、http://www.cpan.org/src/5.0/からPerl 5.11.0のソースをダウンロードして展開。
cd perl-5.11.0/lib/unicore perl ./mktables cd ..と実行してPVA.plが作成されたことを確認。このファイルだけあればOKというわけではないので、unicoreディレクトリをSDカード(/sdcard/com.googlecode.perlforandroid/extras/perl/site_perl/)にコピー。
これで今のところAndroid.pmのdo_rpc()を修正しなくても、うまく動いている模様。
0 件のコメント:
コメントを投稿