Perl ベースのウェブフレームワークである Mojolicious というものが出ていることを知りました。昔は CGI といえば Perl だったよなあ・・・と懐かしい想いにふけりつつ、 CentOS (6) 環境に Perl と Mojolicious を導入して、使ってみます。
Mojolicious は Perl のパッケージマネージャーである CPANM を使って導入します。その CPANM や Perl の比較的新しいバージョンを使おうとすると perlbrew 経由で導入するのが楽なので、まずは perlbrew を導入します:
シェルを起動しなおした後に、導入した perlbrew を使って Perl (以下の例では 5.20.2)をインストールします:
導入した Perl( 5.20.2 ) を有効にして、バージョンを確認します:
目的の Perl がインストールできたことが確認できました。次に perlbrew を使って CPANM をインストールします:
導入した CPANM を使って Mojolicious をインストールして、バージョン(と動作)を確認します:
ここまでの作業で Mojolicious がインストールできました。では以下の内容で Perl のウェブアプリを作ります(webapp.pl という名前で保存します):
以下のコマンドで作成したアプリを起動します:
3000 番ポートで HTTP サーバーが起動している、というメッセージが表示されます。ウェブブラウザでこのサーバーの 3000 番ポートにアクセスして「ハローワールド!」が表示されることを確認します:
動作も確認できました。
Mojolicious は Perl のパッケージマネージャーである CPANM を使って導入します。その CPANM や Perl の比較的新しいバージョンを使おうとすると perlbrew 経由で導入するのが楽なので、まずは perlbrew を導入します:
# curl -L http://install.perlbrew.pl | bash # echo "source ~/perl5/perlbrew/etc/bashrc" >> ~/.bash_profile
シェルを起動しなおした後に、導入した perlbrew を使って Perl (以下の例では 5.20.2)をインストールします:
# perlbrew install perl-5.20.2
導入した Perl( 5.20.2 ) を有効にして、バージョンを確認します:
# perlbrew switch perl-5.20.2 # perl -v This is perl 5, version 20, subversion 2 (v5.20.2) built for x86_64-linux (with 1 registered patch, see perl -V for more detail) Copyright 1987-2015, Larry Wall : :
目的の Perl がインストールできたことが確認できました。次に perlbrew を使って CPANM をインストールします:
# perlbrew install-cpanm
導入した CPANM を使って Mojolicious をインストールして、バージョン(と動作)を確認します:
# cpanm Mojolicious # mojo version CORE Perl (v5.20.2, linux) Mojolicious (7.01, Doughnut) OPTIONAL EV 4.0+ (n/a) IO::Socket::Socks 0.64+ (n/a) IO::Socket::SSL 1.94+ (n/a) Net::DNS::Native 0.15+ (n/a) This version is up to date, have fun!
ここまでの作業で Mojolicious がインストールできました。では以下の内容で Perl のウェブアプリを作ります(webapp.pl という名前で保存します):
use Mojolicious::Lite; get '/' => sub { my $self = shift; $self->render(text => 'ハローワールド!'); }; app->start;
以下のコマンドで作成したアプリを起動します:
# morbo webapp.pl
Server available at http://127.0.0.1:3000
3000 番ポートで HTTP サーバーが起動している、というメッセージが表示されます。ウェブブラウザでこのサーバーの 3000 番ポートにアクセスして「ハローワールド!」が表示されることを確認します:
動作も確認できました。