PerlCasual#02の懇親会で教えてもらった軽量WEBアプリケーションフレームワーク Dancer(公式サイト: http://perldancer.org/)を試してみました。
DancerってRubyのSinatraプロジェクトの移植として始まったみたいですね。Sinatra自体は使ったことないんでよく分かりませんがWEB上のサンプルコードを見ると、構文とか似たように見えます。
とりあえず、PODを参照しながら簡単に実験してみました。
簡単なサンプル
hello.pl
#!/usr/bin/env perl use Dancer; get '/hello' => sub { "Hello, world" } dance;
use strict、use warningsはすでにDancerによってロードされているので必要ないみたいです。
実行
先に作成したスクリプトを実行するとlocalhostのポート3000番でスタンドアローンサーバが立ち上がります。
http://localhost:3000/hello にアクセスすればHello, worldが表示されるはずです。
perl hello.pl
クイックスタート
下記のコマンドを実行するとアプリケーションのスケルトンが作成されます。
楽ちんですね。
dancer -a webapp_name
パラメータの受け取り
下記のように記述すると/hello/ 以下をリクエストパラメータ名nameとして受け渡すことができます。
paramsメソッドを使用することで、ハッシュリファレンスとしてリクエストパラメータを取得できます。
下記の例の場合、http://localhost:3000/hello/Tomにアクセスすると"こんにちは、Tom"と表示されるはずです。
#!/usr/bin/env perl use Dancer; get '/hello/:name' => sub { return "こんにちは、" . params->{'name'}; }; dance;
ドキュメント
日本語のドキュメントが見つからなかったのでPODのこのあたりを参考しています。
- Dancer
- Dancer::Cookbook
続く? もうちょっと試してみます。