Perlについての質問箱 52箱目
■ このスレッドは過去ログ倉庫に格納されています
0213デフォルトの名無しさん
2012/05/31(木) 14:46:24.22ちゃんと6と出ました…
いろいろ試行錯誤した結果、
>省いた部分に問題がある。
がビンゴのようです、、、orz.
実際検索するバイト列の$searchは、複数設定したかったので、
冒頭で別のテキストファイルを読み込んで配列にいれていたの
ですが、ここがガンだということがわかりました。
my $list = shift;
open(IN, $list);
my @search = <IN>;
close(IN);
というような感じで、>>206の"my $pos = index($data,$search);"
を@searchの個数分だけ回していたのですが、これを入れるとダメ
になります。上記のファイルオープンを無くして、
my $search = shift;
にして、検索文字列の個数分ループを外したら、とたんに検索
がヒットするようになりました。
リストファイルは普通に16進数文字列が数行書いてあるだけの
テキストファイルなのですが、何か文字コードや改行関係で
最初のリスト読み込みのコードだと問題あるのでしょうか?
perlが動いているマシンはlinux(EUC)で、テキストファイルは
たしかにwindowsでも触った覚えはあるのですが、デバッガモード
で$search[x]で見る分には、普通の文字列に見えていたのですが…?
■ このスレッドは過去ログ倉庫に格納されています