タグ

ブックマーク / hakobe932.hatenablog.com (2)

  • 正規表現のoオプションにPerlの暗黒面を見た - はこべにっき ♨

    Perlの正規表現のoオプションてご存じでしょうか? うちはあまり使ったことがなかったのですが,効率のよい正規表現処理を行うときには便利なオプションです. oオプションを使うと,その正規表現のコンパイルが1回しか行われなくなります.たとえば,正規表現の評価が繰り返しのなかで現れると,コンパイルが何度も行われて効率が悪くなります.そういったときにoオプションを付与しておけば,正規表現コンパイルのオーバーヘッドを最小限にとどめることができます. chomp(my $pattern = <>); for my $n (0..100000000000) { # すごく回数の多いループ # oをつければ正規表現がコンパイルされるのははじめの1回だけなので安心 if ($n =~ m/^$pattern$/o) { say "match!"; } } 正規表現が静的な場合は,Perlはこのような最適化

    正規表現のoオプションにPerlの暗黒面を見た - はこべにっき ♨
  • POSTリクエストをリダイレクトするとGETされる?POSTされる? - はこべにっき ♨

    あるURLにPOSTでリクエストを発行した結果リダイレクトされたとき,そのリダイレクトのリクエストはGETなのでしょうか?POSTなのでしょうか? なんとなくGETっぽいけど… そこんとこどうなのか気になったので調べてみました.HTTPとかにはあんまりくわしくないので,おかしかったら指摘していただきたいです. 準備 リダイレクトが発生するレスポンスコードは以下の4つです. 301 MOVED PERMANENTLY 302 FOUND 303 SEE OTHER 307 TEMPORARY REDIRECT HTTP1.1のRFCやその解説によると,POSTリクエストした結果,レスポンスコードが302か307だった場合は,POSTでリダイレクトしたほうが良いようです.でも,ほとんどのクライアントはその決まりを守らずGETでリダイレクトしているとも書いてあります. そこで,Firefox/S

    POSTリクエストをリダイレクトするとGETされる?POSTされる? - はこべにっき ♨
  • 1