環境に左右されない PERL5LIB を設定する .profile の書き方

プロジェクト用のモジュールを extlib とか専用のディレクトリを掘っていると、それを @INC に突っ込まなくてはいけないので、ブートストラップスクリプトで調整したり、開発用に .bashrc や .profile に書くと思いますが、モジュールがインストールされるディレクトリ名は、

./extlib/lib/perl5/i486-linux-gnu-thread-multi (32bit Ubuntu)
./extlib/lib/perl5/darwin-thread-multi-2level (OSX)

のように、アーキテクチャ名が入ったりするので、環境によってディレクトリ名がまちまちで書き換えないといけません。

なので、下記のように .profile を書くと環境に左右されないので便利です。

ARCHNAME=$(perl -MConfig -e 'print $Config{archname}')
EXTLIB=./extlib/lib/perl5:./extlib/lib/perl5/$ARCHNAME
PERL5LIB=./lib:$EXTLIB

export PERL5LIB=$PERL5LIB

[追記]
lestrrat 氏がコメントで PERL5OPT を利用する方法を紹介して下さいました。ありがとうございます!

export PERL5OPT=-Mlib=extlib/lib/perl5

lib.pm も Config.pm を使って archname 以外も見て上記の方法よりもよしなにしてくれます。より、.profile がスッキリしますね。