perlbrew といえば自分の $HOME にローカルな Perl 環境を複数構築できるとツールで、最近の Perl の人々はこれを使うか自分でソースから $HOME とかにビルドするかしてると思います。これによってシステムワイドな perl を使わなくて済みますし、当然ながら sudo cpan([mp])? なんていうことはしなくて済むようになります。
しかし、メンドくさいのがその perlbrew 環境の perl 情報を Emacs 側に引き継がせることです。ぼくはモジュールのドキュメントを参照するときなどに cperl-perldoc(-at-point) なんかをよくつかっているのですが、これができなくなってしまった。より正しく言えば、cperl-perldoc なんかで使われる perldoc はシステムの Perl を使用してしまうので、perldoc 環境にいくらモジュールをいれてもそのドキュメントを参照できない。
この解決方法を知ったのが 1 年前でしたが、perlbrew.el が出てきたので、ちょっと書き換えました。
(require 'perlbrew) ;;; Prepend perlbrew paths to exec-path (perlbrew-set-current-perl-path) (mapc (lambda (x) (add-to-list 'exec-path x)) (mapcar 'expand-file-name (list (perlbrew-get-current-perl-path)))) ;;; set PATH to be the same as exec-path, clobber the old PATH value. (setenv "PATH" (reduce (lambda (a b) (concatenate 'string a ":" b)) exec-path))