There's an echo in my head

日々のメモ。

perlでMakefile.PLを実行するのに必要そうなモジュール

Text::LTSVにpull req.を投げた際にperl Makefile.PLして躓いたのでメモ。

Module::Install

Can't locate inc/Module/Install.pm in @INC (you may need to install the inc::Module::Install module) 

というようなエラーが出たら、$ cpanm Module::Install でOK。

Module::Install::AuthorTests

String found where operator expected at Makefile.PL line 10, near "author_tests 'xt'"
    (Do you need to predeclare author_tests?)
syntax error at Makefile.PL line 10, near "author_tests 'xt'"

というようなエラーが出たら、 $ cpanm Module::Install::AuthorTests でOK。

ref: 気を抜くとすぐに忘れる "author_tests 'xt'" ってエラー

Module::Install::Repository

Bareword "auto_set_repository" not allowed while "strict subs" in use at Makefile.pl line 16.

というようなエラーが出たら、 $ cpanm Module::Install::Repository でOK。

ref: はてな記法のPerlライブラリ Text::Hatena

Module::CoreList

番外編。標準モジュールか否か、もしくは標準モジュールとして導入したperlのバージョンをチェックするには次のようにする。

$ perl -MModule::CoreList -e "print Module::CoreList->first_release('UNIVERSAL::require');"

Module::CoreList自体は5.009002から導入されている。

このブログに出てくるコードスニペッツは、引用あるいは断りがない限りMITライセンスです。