@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年分のみを検索したりもできます。
是非お試しください。