@kyanny's blog

My thoughts, my life. Views/opinions are my own.

eshell で local::lib

;; local::lib
(setenv "MODULEBUILDRC" "/Users/k-kaneko/perl5/.modulebuildrc")
(setenv "PERL_MM_OPT" "INSTALL_BASE=/Users/k-kaneko/perl5")
(setenv "PERL5LIB" "/Users/k-kaneko/perl5/lib/perl5:/Users/k-kaneko/perl5/lib/perl5/darwin-thread-multi-2level:$PERL5LIB")
(setenv "PATH" (concat "/Users/k-kaneko/perl5/bin" ":" (shell-command-to-string "echo $PATH")))

setenv 関数をつかう。 environment.plist を使う方法を以前書いたことがあるけど、修正するたびにログアウトする必要があって面倒だった。ので .emacs に書いておけるこちらのほうがよい。前に id:hiboma に教えてもらった。

local::lib がそのまま出力する PATH 用の文字列は bash なら $PATH が展開されるので問題ないのだけど .emacs にそのまま書くと悲しいことになるので、 shell-command-to-string でちょっと小細工をした。 shell-command-to-string は http://d.hatena.ne.jp/clouder/20090529/1243564128 とか。

$PERL5LIB もちゃんと展開してやるべきだけど、もともと空であることが多いし、このままでも動く。