- ベストアンサー
正規表現でのエラー
検索システムを作ろうと思っています。テキストファイル(このソースではgreetings.txtです。)の中にある文章をキーボード入力で1文字でもヒットすれば抜き取って表示させたいのですが、以下のソースをコマンドプロンプトで実験したところ「Q、Y,S,M、と記号」で検索すると全ての文章がヒットしてしまいます。他の文字では問題無くヒットするのですが…。perlを始めてばかりでまだまだわからないことだらけです。いちおう本やネットで検索したんですがさっぱりわかりません。どなたかどうかお力を貸していただけませんか? #!C:\Perl\bin\perl $kensaku = <>; $ans = eval $kensaku; open(IN, "greetings.txt"); while ($line = <IN>){ if($line =~ /$ans/i){ print "$line"; } }
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (6)
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.7
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.6
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.4
- sakusaker7
- ベストアンサー率62% (800/1280)
回答No.3
- guci-ok
- ベストアンサー率33% (49/146)
回答No.2
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
補足
上記のスクリプトで試してみましたが、 Undefined subroutine &Encode::decode called at Z:\a.pl line 7, <> line 1. というエラーが出てスクリプトがうまく動きませんでした。sakusaker7さんは、うまく動くことができたのでしょうか?encodeというものが調べていくうちに多少はわかったのですが、どういうふうにモジュールをつけたら良いのかわかりません…。引き続きご回答をいただきたいと思います。