perlbrew を使用したときなどは、システム標準の perl ではなく、自身で使用を選択した perl が使用されます。
これは perldoc なんかも同様で、例えばぼくの perldoc は以下にパスが通っています。
$ which perldoc /Users/kiririmode/perl5/perlbrew/bin/perldoc
しかし、この状態で Emacs から cperl-perldoc を呼んでも、インストールしたはずのモジュールが見つからない、とエラーが吐かれてしまいます。これは、Emacs は上記 perldoc ではなく、別の perldoc を用いているためです。
ぼくもこの事象に困っていたのですが、どうも Emacs に自分が使用している perldoc を使わせるためには、以下のような設定をすれば良さそうです。
(load "cl-seq") ;;; Prepend perlbrew paths to exec-path (mapc (lambda (x) (add-to-list 'exec-path x)) (mapcar 'expand-file-name (list "~/perl5/perlbrew/bin" "~/perl5/perlbrew/perls/current/bin"))) ;;; 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))