最近気に入って使ってるCPAN Moduleたち

読了まで:約4分


概要: を紹介してみるテスツ


えっと、最近、

という雑記にも書いた通り、

  • Perl への愛 Love

が復活してきて、モリモリと Perl のコードを書いているので、今日は、

  • 最近僕が気に入って使ってる Perl(CPAN) モジュール

を、ざっくり紹介して行きたいな、と思います。

[Moo http://search.cpan.org/perldoc?Moo ]

基本的に Perl のおけるモダン OOP は、

を発端とした、Moose 系のファミリーを使うのがベターだと思いますが、僕はその中でも、

を使ってます。

まあ、以前は、

使ってたんですが、MooMouse よりシンプルで、かつ、 Mouse より Moose 互換性を割り切っているので、その辺り気に入って使ってます。

あとはまあ、型システム用に、

を使ってるって感じですね。

[Time::Moment http://search.cpan.org/perldoc?Time%3A%3AMoment ]

日付を扱う系のモジュールには、

を使うのがデファクトだと思うんですが、まあ正直 DateTime は複雑で、かつ、ちょっとだけ使う分にはヘヴィーなので、僕は Time::Moment 使ってます。

まあでも、結局のところは単なる新しいもの好きな趣味ですね。はい。

[Mojolicious http://search.cpan.org/perldoc?Mojolicious ]

僕は基本的に、複雑な framework に対しては、

アイエエエ! フクザツ! フクザツナンデ!

って成るので、基本的には軽量というか、シンプルな構造の framework しか扱えないという困ったちゃんなのですが、Perl において Web Application を書くときには、

を使ってます。まあ正確には Mojolicious::Lite の方ですけど。

で、あと、 Mojolicious::Lite とか使うまでもない簡単な Web Applicaiton に関しては、

を使って、生の PSGI Application を書いてたりします。基本非推奨ですけれども。

あと、Mojolicous 以前は、

を使ってたと思うんですが、なんか色々と機能が充実してなくて、めんどくさくなって投げたような覚えが有ります。

でもまあ今はもうちょっと進化してるっぽいので、あの当時と比べると、まだ面倒なところは少なくなってるのかな? とは思います。

[DBIx::Mint http://search.cpan.org/perldoc?DBIx%3A%3AMint ]

で、先に、僕は、

を使ってると言いましたが、これと関連して、O/R Mapper には、 Moo ベースでクラスが書ける、

を使ってます。っていうかまあ、正確には、 使おうとしている 、っていうのが正しいですが。

で、この DBIx::Mint は結構構造がシンプルで、かつ Moo ベースの Object を突っ込んだりするだけで、データベース操作が出来ちゃうし、あと、この Moo ベースのオブジェクトを突っ込んで データベースにデータを保存したりっていうのが、 Golang の ORM の操作感に近いので、その辺りも気に入ってるポイントの一つです。

[Promises http://search.cpan.org/perldoc?Promises ]

これは主に、僕が雑記の方で言っていた、

という Applicatio のコアの方で使ってます。

で、この Promises は、いわゆる Promise を使うデザインパターンを、Perl で実装したモノらしいのですが、いかんせん僕に Promise 脳が無いので、時々えーっとこれがああなって、アレが、こうなって、……あばばばばばばばば! と成るときが未だに有るので、まだ正直使いこなせていません。

が、この Promises は、その非同期実行システムに、

  • AnyEvent
  • EV
  • Mojo::IOLoop

辺りが使え、かつ、コレ以外の非同期実行環境にも対応できそうな感じではあるので、その辺り結構可能性ありそうだな、って感じです。はい。

あと、語るものもないほど当たり前に使っているモジュール達

  1. [[Plack http://search.cpan.org/perldoc?Plack]]
  2. [[cpanm http://search.cpan.org/perldoc?cpanm]]
  3. [[carton http://search.cpan.org/perldoc?carton]]
  4. [[Test::More http://search.cpan.org/perldoc?Test%3A%3AMore]]

辺りですかね。

とりあえず以上

ですかね。はい。

まあコレ以外にも使ってるモジュールは多分有るんでしょうが、あんまり思い起こせないし、あと他のモジュールに関して言えば、それはその時々の必要に応じて、色々検索して選んでいるだけだと思ってるので、あえてこれ使ってます! っていうのはこれぐらいですかね。

まあ、とりあえず今日の思いつきで書いた記事は以上です。まあ、なんかの参考になればなーと思います。

という事で以上で本日の記事を終わります。まる。

#FIXME

にゃるら(カラクリスタ)

『輝かしい青春』なんて失かった人。
次に備えて待機中。

今は趣味でプログラミングをして
生活しています。