@nqounetです。
先日書いたPSGIとCGIの比較ですが、厳密には同じではありません。
CGIで書いたほうは、かなり簡素化しています。
簡素化せずに書くとどうなるのか、一部を試してみます。
request_method と path_info
改めてMojoliciousで書いた方を見てみましょう。
|
|
getと/があると思いますが、コレに相当することをCGIで書いてみましょう。
|
|
%ENVは環境変数です。
CGIの場合は、ApacheなどのウェブサーバーがCGIを実行する時に環境変数をセットします。
それをPerlで取り出す時に%ENVを使います。
%ENVは特別な変数ですが、扱い方は普通のハッシュと同じです。
なので、一覧を見るときにはkeysやeachなどが使えます。
|
|
CGIを勉強するにしても、約束事というか色々な決まり事を覚える必要があります。
どうせ覚えるなら、最新の情報を覚えておいたほうが良いのではないでしょうか。
残念ながら、Mojoliciousが動作するPerlのバージョンはv5.10以降なので、まだまだ多くのレンタルサーバーでは使えません。
でもご安心ください。
v5.8にも対応しているMojoliciousがあります。
コレで、レンタルサーバーでも動きますね。
strict と warnings
CGI側にある表記として、use strictとuse warningsがありますが、何故Mojoliciousの方には書いてないのか疑問に思った方。とても素晴らしいです。
実はMojolicious::Liteと書くとこれらを自動的に有効にしたことになります。
最近ではuse utf8も有効になるようになっています。
use strictは口が酸っぱくなるほど言っていることですが、それも最近の動向としては書かなくても自動的にuse strictの状態になろうとする方向になっています。
ところで、Perlの必要なバージョンを書くとそれ以前のPerlでは動作しないようになるのですが、(安定版で言うと)v5.12以降を指定すると自動的にuse strictの状態になります。
|
|
そして、ついでにsayというコマンドも使えるようになるので、簡単なサンプルを書くようなときには便利な記法だと思います。
検索ワードは perl -cgi で
Perlは古くからある言語なので、インターネットと共に発展してきました。
検索してみると情報量は多いのですが古いものも多く、そのせいで最近の情報が手に入りにくいと思います。
ただ、CGIの情報を取り除くだけでも見た目は大分良くなりますので、検索ワードはperl -cgiが良いと思います。
googleであれば、過去1年分のみを検索したりもできます。
是非お試しください。