既出かもしれないけれど。

perlbrew で構築した環境で /usr/bin/perl と ~/perl5 のバージョンが違う場合

run スクリプトで環境変数を export してあげないと perlbrew の利点を活かしきれない。ちなみに bash を中心に扱っているので、自分の環境に合わせて読み替えてください。

run にどう書くか

perlbrew init したときに ~/.bashrc に追記した source の行があるはずなのでそれを辿って export を run にコピペしてやればよい。

手元の環境では
$ cat ./bashrc
..snip...
if [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
fi
source /home/foo/perl5/perlbrew/etc/bashrc

$ cat /home/foo/perl5/perlbrew/etc/bashrc
export PATH=/home/foo/perl5/perlbrew/bin:/home/foo/perl5/perlbrew/perls/current/bin:${PATH}
よって、 run ファイルは
$ cat /etc/service/chirp/run
#!/bin/sh

cd /home/foo/chirp
export PATH=/home/foo/perl5/perlbrew/bin:/home/foo/perl5/perlbrew/perls/current/bin:${PATH}
exec setuidgid foo perl chirp.pl

としておく。これで perlbrew switch したバージョンを使えるようになる。

※ $^V を表示するテストスクリプトを走らせて確認しておくことで、嵌ることを回避できる