だらだら〜自由自在〜

インディーゲーム制作チーム GAME GABURI でプログラム担当してます

レガシー

Perl+CGIってすごいレガシーなんじゃないか?という思いを抱きつつも、もう始めちゃってるでこのまま続行。django使ってやったら楽そうなんだが。

PerlIDE

ちょっと前にEclipse+EPICというのを見つけてセットアップにチャレンジしてみたけど、なんか色々あって結局ダメだった、でもローカルで素早くデバッグや構文チェックできてエディタと統合されてる環境がほしい!
ということでPadreというのを使ってみる。今も頻繁に更新されているようだし。でもまだメジャーバージョン1未満なのね。
http://gihyo.jp/dev/serial/01/modern-perl/0017?page=1

  • スプラッシュウィンドウが出るけど、そこに写ってるアゲハが高解像度で虫嫌い的には辛いwいや別にどうでもいいんだけどね。
  • 日本語パッチとか言語設定とかすんだろうな、と思ったら起動したら日本語インターフェースだった。素晴らしい。
  • Padreインストールまでのブログ記事は簡単に見つかるけど、機能の使い方とか、HellowWorld以降の記事を書いてる日本語サイトはあんまりない?
  • Win7-64bitだけど多分Perlも勝手にインストールしてくれる。c/usr/bin/perlだったのでラッキー!…いや、これは前に自分でいれたやつかもしれん、どうだったっけ?…やぶん自分でいれたやつだw
  • 何の設定もいじらず、hellow world書いてF5、できたー。
  • アウトライン>CGI>ドキュメント開く>出てきたWindow閉じる>落ちた!ちょw
  • うん、手軽に実行までいけるから楽。
  • スクリプト引数も指定できる。けど設定ウィンドウを開いてー、って感じなのでイマイチめんどくさい。ショートカット的なものがあるのかも。

mod_rewrite

なんか/index.htmlだけmatcheがSKIPされてるよな気がする…とりあえずうまくいかんからOffにしといた。

数時間後に再挑戦。rewriteのlogを見てみると、/index.htmlのリクエストのハズが、/だけになっていて、そのあとsubreqとやらでindex.htmlがrewriteに渡っている。このあたりからぐぐってみると、結局
http://norainu.net/mt/archives/2005/06/rewritedirector_2.html
http://d.hatena.ne.jp/noopable/20091010/1255177729
こちらの2つのサイトに辿り着いた。DirectoryIndexにindex.htmlとか指定してると(普通指定してるんじゃないの…?)Apacheの内部リクエスト(subreq)とやらが発生して、今みたいなことになるそうだ。
で、subreqが解決(という言い方でいいのか?)したあとのREQEUST-URIを得るには
RewriteCond ${LA-U:REQUEST-URI} ...
で良いらしい。確かにこれでRewriteCondを意図した動作にすることができた。がしかし…RewriteRuleが評価する文字列がなんかオカシイ。というよりこれもsubreqを評価してる気がする。なんとかsubreq後のやつで評価できないものか…と色々やったがダメ。結局。
RewriteRule ^ /cgi-bin/need_uri.cgi&req={LA-U:REQUEST-URI}
としたのであった。ホントはReqには頭のSlash無しのURIを入れたかったけど、それはCGI側でどうにかすることにした。無念…