お世話になります
あるフォームから渡ってきたキーワードをCSVファイルと比較して検索結果を表示するのですが全角、半角ではじかれてしまいうまく動作しません
下記にソースを記載します
① foreach(@shop_dat){
② local($shop_region,$shop_name,$shop_postal,$shop_adress,$shop_tel) =
split(/,/,$);
③ if( ($shop_name =~ /\Q$in{'shop'}\E/i || $in{'shop'} eq '')){
④ push(@result,$);
}
}
①CSVファイルの行でループ
②CSVから読込んだ1行をカンマで分割(カンマ区切りのため)
③フォームで入力された「in{'shop'}」とCSVの店舗カラム「$shop_name」を比較
(部分一致)
④該当すれば、別変数に一時保管
(全行を参照してループ終了し、④で保管した結果を一覧表示)
以上です。
ご教授いただければ幸いです。
追記
このコードは他の人が書いたもので、私はparlのことがよくわからなく質問しています。
いろいろ見てるうちに気づいたのですが、そもそもフォームから渡ってきた$shop_name を何も変換せずに比較しているように見えるので、普通に考えたら、最初に両方の変数を全、半角に変換して(統一して)比較するのが自然かと思うのですが、違いますでしょうか?
素人なものでよろしければコード込みでご教授いただければ幸いです。
以上、宜しくお願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/02 04:08
2015/07/02 11:55