カレッヂ |
質問者 ワコボ
投稿日 2004/1/8(木) 17:20:10
#!/usr/bin/perl5 $a="multipart/form-data;"; if ($a =~ /^multipart\/form-data; (?:[\ \t]|\r?\n[\ \t])*boundary=([^\s;]+)/x ) {print "成功=$a";} print "成功=$a"; 以上の文ですがif文の中にセミコロン(;)があり文法的におかしいようにみえるのですが 実行ではエラーも起こらず実行できます。いったいどういった処理をしているのでしょうか? よろしくお願いします。 PERL :active perl 5.8 OS :windows2000 です。
プロバイダ参照: |
回答者 しゅんじ
[削除]
投稿日 2004/1/9(金) 08:32:55
これはマッチングの処理をしているので、セミコロンが合っても問題なく処理します。 文法の行末セミコロンではなく、文字列のセミコロンと思えばよいかと。 後ろの正規表現を取り除いて直してみると、こんな感じですかね。 $a = "multipart/form-data;"; if ($a =~ m/^multipart\/form-data;/) { print "成功 = $a\n"; } |
質問者 ワコボ
[削除]
投稿日 2004/1/9(金) 09:26:21
perlの正規表現は結構便利ですが、その文習得も大変ですね。 ありがとうございました。 |
返信(回答)する
Web裏技 |