- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Perlのエラー(絞込検索時にファイルロックが。。。)
Perlのエラーを解決するための注意点とファイルロックの原因究明方法
このQ&Aのポイント
- Perlの担当者が休まれているため、急遽システムの修正~を行うことになったPerl初心者です。
- テキストボックスに特定の文字を入力すると、システムが動かなくなり、画面が真っ白になる現象が発生しています。
- 原因としてはファイルロックを行っている部分で、比較の際に問題が発生している可能性があります。具体的な原因究明方法について助言をいただきたいです。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> 「本質的な解決ではない」 > の理由が自分には分からないので、補足願えると大変助かります。 仕様としてメタキャラクタを無効にすることが適っているかどうか不明なためです。 たとえば正規表現やワイルドカードを使って検索をかけたい場合はNo1.の対策ではNGです。 そういう意味で「本質的な解決ではない」のです。 仕様上どういう動作が正しいか検証するのは実際の担当者の仕事だと思われます。
その他の回答 (1)
- bgbg
- ベストアンサー率53% (94/175)
回答No.1
応急処置的には、 if($one_log[2] !~ /$search_keyword/i){ を if($one_log[2] !~ /\Q$search_keyword\E/i){ としてください。 \Q~\Eは間のメタキャラクタを無効にします。 しかしこれはあまり本質的な解決ではないので、担当者が復帰したらきちんと根本的な対策を練らせましょう。
質問者
お礼
こんにちは。回答ありがとうございます。 おぉ。。。 ファイルロック~のエラーに関しては取れました。はい。 http://www.site-cooler.com/kwl/perl/8.htm#metachara メタキャら~というと、この辺ですよね? 無効にすると。。。大変なことになりませんか???(汗 「本質的な解決ではない」 の理由が自分には分からないので、補足願えると大変助かります。 無効にしても、検索は可能で、見た目上、正常~に動いているんですよね?^^;(そのように確認しましたが。 助かりました。どうもありがとうございます。
お礼
>>たとえば正規表現やワイルドカードを使って検索をかけたい場合 なるほど。。。 納得です。 システムの仕様については、確認してみたところ、特にそのような部分に関しての記述はありませんでしたので、ユーザからの問い合わせがあった場合に考えたいと思います。 仕様を変えるなら変えるで、後は担当者さんが戻ってきたら報告しておきたいと思います。 助かりました。どうもありがとうございました。