● Apr 16, 2002 (Tue) 11:23 - Perl5exe __DATA__ も AUTOLOAD もちゃんと動くらしい. 調べていくと‥‥‥.ライブラリが自分自身のファイルを open するところでひかっかってた(^^; 通常のPerlのライブラリを見に行ってるかと思ったら,@inc の内容が全く書き変わっていて,実行ファイル内のライブラリを 見に行くようになっている模様. 強引にカレントディレクトリにライブラリファイル置いてみたら, [mikage@mahoro perl2exe]$ ./lib6test TmmLib6=HASH(0x8164518) Segmentation fault ・・・うーん. ---- 再現コード出来た. $/ = undef な状態でreadすると落ちる模様. バグ報告してみよう‥‥‥ ------------------------------------------------------------- package AYAYA; use strict; my $package = 'AYAYA'; my $code; { local($/) = undef; no strict qw(refs); my $fhstr = $package . "::DATA"; print STDERR "(run) filehandle $fhstr\n"; my $fh = \*$fhstr; print STDERR "(run) reading... $fh\n"; $code = <$fh>; print STDERR "(run) read from $fh\n"; } print $code,"\n"; __DATA__ test test ------------------------------------------------------------- ---- 英語でメールは疲れる... とりあえずスクリプト貼り付ければわかるだろうということで バージョン情報と実行結果と2行くらいだけコメント書いて送付. 試せばすぐわかると思うし(^^; どのくらいで返事かえってくるかなぅ. |
|