cpanfileとかMakefile.PLとかBUILD.PLとかcpanmとかcartonとか

自分の中でこんがらがってたのでまとめました。

cpanmとcartonの違いについて

どちらもモジュールをインストールするものです。

carton installの挙動は

cpanm --installdeps -L local/ . 

とだいたい同じ。

carton execの挙動は

perl -Mlib::core::only -Mlib=local/lib/perl5/

とだいたい同じ。

cartonはその上で提供していることは、
carton.lock というファイルにモジュールのバージョンとか記録しててくれて、いいかんじにバージョンを固定できる。


疑問点。
cpanfileというのが出てきて、cpanmでもモジュールのバージョンを固定できるようになった。
cartonを使ったほうが良い場合というのはどういう状況なのだろう?