キモブロ

Please spy check please, Fucking retard

今風のperl環境構築手順

今風のperl環境を構築せざるをえなくなったのでその手順をメモします

まずperlbrewいれます。

これはRubyでいうとrbenvでいろんなバージョンのperlを入れ溶けるようになるやつですね。

$ curl -kL http://install.perlbrew.pl | bash
$ echo source ~/perl5/perlbrew/etc/bashrc >> ~/.bashrc
$ source ~/.bashrc

最新のperlを入れます(この記事執筆時点では5.16)

$ perlbrew install --notest perl-5.16.0

最新のperlを使用することを宣言

$ perlbrew use perl-5.16.0

最新のperlが入ったことを確認

$ perl --version | head -n2

This is perl 5, version 16, subversion 0 (v5.16.0) built for x86_64-linux

次はcpanmのインストール。

$ perlbrew install-cpanm

cpanmが動いてることの確認

$ cpanm --help | head -n1
Usage: cpanm [options] Module [...]

うごいた。

とりあえずなんかcpanモジュール入れてみる

$ cpanm amon2
--> Working on install
Fetching http://www.cpan.org/authors/id/D/DA/DAGOLDEN/install-0.01.tar.gz ... OK
Configuring install-0.01 ... OK
Building and testing install-0.01 ... OK
Successfully installed install-0.01
! Finding amon2 on cpanmetadb failed.
! Finding amon2 on search.cpan.org failed.
! Finding amon2 () on mirror http://www.cpan.org failed.
! Couldn't find module or a distribution amon2 ()
1 distribution installed

Cartonを入れる(いわゆるPerl版Bundler)

モジュールを特定のバージョンでfreezeできるいわゆるBundlerのperl版のcartonを入れる

$ cpanm carton

Amon2を使ってみる

と思ったらamon.64p.orgのサンプルコードを保存してperl hoge.plとするがAmon2::Liteが必要とのことなのでそれを入れる

$ cpanm Amon2::Lite
$ perl hoge.pl

何もいわずに終了してうごかない。なぜか。調べてみたらplackupで起動すればいいっぽい。sinatraっぽいフレームワークをみるとsinatoraっぽく起動するものと思ってしまったがそうではなかった

$ packup ./fuga.pl
HTTP::Server::PSGI: Accepting connections at http://0:5000/

ブラウザで見るとHello world!と表示された。

感想

昔に比べたら入れるのだいぶ楽になったなぁ。たぶんcpanの糞みたいなセットアップが不要になったことが一番でかいかな。