ブログ移設しました。

bloggerから記事を移設しました。


HUGOで記事を書いてみると思いのほか書きやすかったので移動。

月曜日, 4月 13, 2015

perl周りについて書き散らかす。

perl今自分の中でホットになりました。
そんなわけでperlのことについて色々書いてみたいと思う。

開発環境は何がいいかな?

慣れていないなら、Linux。 Windowsは別途ノウハウがいる。(cpanであれが通らないんだけどを解決する術)

perl6がいいの?

ほかの言語とは違い、perl6は全く別言語と聞きます。
ずっと前から名前だけは聞いてますが、まだまだな感じを受けます。
(触ってみた、動かしてみたが多いけど、入門系の記事はあまり見受けないので)

site_perlでいい?自分でビルド?

ほかの人が言うにはvendor_perlはフレームワークみたいなものを使う時には良くないとききます。
が、私自身ビルドしてもある程度のエラーが出るのでなんとも。

オススメの環境は?

plack + webサーバー mod_perlの運用方法は知っておくべき事柄の一つかもしれないけど。
(plackの紹介記事だけ見て話してる)

perlビルドするのが大変です。

開発環境では、 perlbrew、プロダクションでは、plenvがいいとか。
ログに載せているけど、オプションは、あんな感じで良いと思います。

その他

runy使っててもwindowsでやるときは別途ノウハウが必要だと感じてて、慣れるまでは大変かな?と思います。
また、mod_perl全力ディスではなく、監視対象が一つ減るとかいいとこもあるので、この辺は要件になるかなと思います。

手を動かす。

そこを踏まえた上で、開発環境で、catalyst、sledgeとかを動かす環境を作ってみるとしましょう。(mojoは触れる機会がまだないのでスキップ)

perlbrew

perlbrewのインストール及び概要については上のサイトが全体像掴みやすかった。
しかし、上記のやり方ではGetop周りで怒られちゃうので、以下のサイトの様な回避策を講じる必要がある。
ワンライナーで何か置き換えているね。sedは使えた方がいいね。(遠い目)

ではどんどんインストール

インストールするバージョンはperlbrew availableで確認できるのがインストール可能なバージョンです。
心ゆくままに5.8オーバーを各種ビルドなんてのもいいのではないでしょうか。
(この記事を修正してるとき、裏でperlbrewを回しまくっています。)

いざ、モジュールのインストール

さて、cpanmまでインストールが終わったら、いざ開発に必要なモジュールを揃える旅に出よう。
perlbrewはrvmみたいにmoduleセットの切り替えができるんですね。すてきです。
perl5libの面倒もみてくれるんですかね。 site_perl的なところに入ってしまうものについてはみてくれるパスではないかもしれないですが。

個人的にはプロジェクト作成時点でcartonで必要なパッケージをちゃんとバージョン管理する様にした方がいいかなと思うよ。。。

  • 個人的にcatalystのディレクトリ構成とあまりマッチしていない気がしますが
    • いやいや。catalystに関しては、cpanfileだけでよくね?


cartonで管理するなら、あまりcpanmでどこにインストールするのかとか最初だけ気にしていればいいからね。
となると、cpanmでいれたほうがいいのは?
carton、DBD系くらいしか思いつかない。きっと、熟れてる人ならもっと出てくるかもしれないけど。

carton+catalyst+sqlite
https://github.com/tluna/perl
sledge
諦めた。mod_perl必須

後書き perlって環境周りはあまり楽じゃない気がします。。。
へぼいのは承知でちとperlerはすげぇとおもう。また、テストツールはperl界隈は随一とのことなので、その辺も触ったらいいのかな。次の機会に書こう

ごりっとバージョンごとにインストール(あまり意味ないけど)
#!/bin/bash
perlbrew -v install perl-5.21.10 -Accflags=-fPIC -Dloclibpth="/usr/lib64 /lib64" -Dusethreads
perlbrew -v install perl-5.20.2 -Accflags=-fPIC -Dloclibpth="/usr/lib64 /lib64" -Dusethreads
perlbrew -v install perl-5.18.4 -Accflags=-fPIC -Dloclibpth="/usr/lib64 /lib64" -Dusethreads
perlbrew -v install perl-5.16.3 -Accflags=-fPIC -Dloclibpth="/usr/lib64 /lib64" -Dusethreads
perlbrew -v install perl-5.14.4 -Accflags=-fPIC -Dloclibpth="/usr/lib64 /lib64" -Dusethreads
perlbrew -v install perl-5.12.5 -Accflags=-fPIC -Dloclibpth="/usr/lib64 /lib64" -Dusethreads
perlbrew -v install perl-5.10.1 -Accflags=-fPIC -Dloclibpth="/usr/lib64 /lib64" -Dusethreads
perlbrew -v install perl-5.8.9 -Accflags=-fPIC -Dloclibpth="/usr/lib64 /lib64" -Dusethreads

#perl-5.21.10
#perl-5.20.2
#perl-5.18.4
#perl-5.16.3
#perl-5.14.4
#perl-5.12.5
#perl-5.10.1
#perl-5.8.9
#perl-5.6.2
#perl5.005_04
#perl5.004_05
#perl5.003_07

$ perlbrew list 
  perl-5.16.3
  perl-5.18.4

  perl-5.20.2

その他のバージョンのビルドについては後日確認します。

1 件のコメント:

  1. 最新の5.21.10には失敗していました。
    その他の5.8.9以降はビルド成功。

    kagoya vps, cent7, Developement Toolsインストール
    5.18.4 Catalyst::Develまでインストール完了。

    残るはsledgeだな。

    返信削除