pm-uninstallで『localな環境』のコアモジュールを消せるアップデートをしていただきました

この前の文字コード問題で、local::libで作った手元の環境だけ
Encode.pmをアップデートしてテストなどしていました。


この辺は今は「 cpanm -l ~/local Encode 」でサクっと出来てステキですね。
そして、実験終了後に消そうと思って、

pm-uninstall -l ~/local Encode

とやったんですが、

Encode is Core Module!! Can't be uninstall

と怒られてしまい、終了。


どうやら過去の経緯からコアモジュールは削除できないようです。


確かに通常のlibの下で考えるなら気軽に消せてはマズイという事で
正しいのですが、同じようにlocalにな環境に入れる場合はないのかな、
ということで #perl-casualで相談してみたところ、即効で対応していただけました!


http://search.cpan.org/~xaicron/App-pmuninstall-0.16/


特にオプション等を増やして実行する必要はなく、対象がコアモジュールでも
コア以外のところ(local等)にインストールされているもので、コアなlibにはちゃんとそれがある、
という確認が出来れば削除するようにしていただきました。


上の判定による対応は非常にスマートで、相談する前の時点では -f のオプションで消せるようにして
欲しいくらいのお願いをするつもりだったので、相談してみて良かったです。


すばやく対応していただいたxaicronさん++