![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
例えば以下のように記載するとエラーとなります。
if($::FORM{'body'} =~ /パターン/){
push(@error, '投稿できません');
}
しかし、以下のように記載するときちんとパターンマッチします。
このふたつともエラーが出ておかしくないと思うのですが
なぜ以下ならOKなのか教えてください!!
@word=qw(パターン);
foreach (@word) {
if (index($::FORM{'body'},$_) >= 0) {
push(@error, '投稿できません。');
}
}
No.1ベストアンサー
- 回答日時:
Shift_JIS使ってませんか?
もしそうなら、いわゆる「だめ文字」と呼ばれる問題です。
ーの2バイト目は [ です。「ー」と一文字に見えますが、Perl内部では2文字として処理されます。
そのため、メタ文字 [ に対する ] が無いのでエラーになります。
「ソ」「表」等の2バイト目が\なのは有名ですが、正規表現では、他にも注意しないといけない文字があります。
https://sites.google.com/site/fudist/Home/grep/s …
Perlで考えたら@もリストに使いますから、正規表現でなくても問題になりえます。
あと、これはPythonでの話しですが、Perlでも同じような現象が起こります。
http://oshiete.goo.ne.jp/qa/7630123.html
最近のPerlなら、
・ use utf8;してutf-8でスクリプトを記述
・入出力はencode/decodeでバイト列⇔utf8文字列の変換する。(またはPerlIOを使う)
のがいいと思います。
> if (index($::FORM{'body'},$_) >= 0) {
index関数は、文字列を単純に比較するだけです。
正規表現ではありません。なので [ が混っていても問題ありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- PHP php テーブルが作成できない 1 2022/11/17 23:41
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- MySQL php テーブルを作れない 2 2022/11/17 18:22
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テキストファイルで提出とは?
-
ファイルをディレクトリ分配の...
-
openした後、closeしないでプロ...
-
perlのプログラミング 部分入れ...
-
Perlのエラーについてご教授く...
-
画像が表示でnull; this.src
-
perlプログラミング 空白行削除
-
Perlで特定文字列から特定文字...
-
ラズベリーパイ初心者です。 ラ...
-
アルファベットに付いて質問し...
-
#!/usr/bin/perlで書きだしたCG...
-
perlのflock関数でロックをかけ...
-
AI sisterとは、偽物の人ですか?
-
bashスクリプト
-
ファイルアイコンの左下に緑の□...
-
perlでリテラル値はメモリにど...
-
perlで2次元配列をサブルーチ...
-
Perlで時間の計算
-
perlについて
-
perlのrequireの動き方について...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
openした後、closeしないでプロ...
-
テキストファイルで提出とは?
-
INDIRECT 横に再度抽出したい
-
Perlで特定文字列から特定文字...
-
perlをバージョンアップしたら...
-
Wallpaper Engineでおすすめの...
-
arduino の割り込み処理について
-
アルファベットに付いて質問し...
-
Strawberry Perl for Windows ...
-
Perlで時間の計算
-
このファイルを開く方法で困っ...
-
TeraPadエディターの操作方法に...
-
cgiでサーバーにファイルを追加...
-
フローチャート 九九
-
LinuxにおいてのPerlのプログラ...
-
perl 初等プログラミングについて
-
Perlのエラーについてご教授く...
-
こんにちは ブラケッツでプログ...
-
bashスクリプト
-
perlプログラミング 空白行削除
おすすめ情報