目の前に僕らの道がある

勉強会とか、技術的にはまったことのメモ

Dancerを試してみた 1

PerlCasual#02の懇親会で教えてもらった軽量WEBアプリケーションフレームワーク Dancer(公式サイト: http://perldancer.org/)を試してみました。

DancerってRubySinatraプロジェクトの移植として始まったみたいですね。Sinatra自体は使ったことないんでよく分かりませんがWEB上のサンプルコードを見ると、構文とか似たように見えます。

とりあえず、PODを参照しながら簡単に実験してみました。

インストール

インストールはCPANから。

cpan Dancer

簡単なサンプル

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のこのあたりを参考しています。

続く? もうちょっと試してみます。