PerlはFreeBSD 4.xではベースシステムに含まれていましたが、5.xからはベースシステムではなくports/packageから提供されるようになっています。
FreeBSD 5.2.1-RELEASEの標準では5.6.1がインストールされますが、次のRELEASEからはPerl 5.8系が標準になるようです。
古いバージョンのPerlが入っていますので、最新バージョンをインストールしましょう。
Perlに依存するportsがインストールされていない場合はPerlのみをインストールし直せば良いでしょう。
依存するportsがインストールされている場合は、後述するportupgradeを使う方法を行ってください。
必要があれば最初にPerlを削除します。
> su
# pkg_info | grep perl
perl-5.6.1_15
# pkg_delete perl-5.6.1_15
削除できたら最新版をインストールしましょう。
Perlの最新版は5.8.2です。portsは/usr/ports/lang/perl5.8ですので、portsからインストールします。
> cd /usr/ports/lang/perl5.8
> su
# make install clean
これでインストールは終わりですが、インストールしただけではPerl 5.8.2が標準のPerlにはなりません。
Perlは/etc/make.confにバージョンが記述されており、Perlに依存するportsはそれを見てPerlのバージョンを識別しています。
これを書き換えるには、rootで
# use.perl port
を実行してください。
/etc/make.confが書き換わり5.8.2が標準のPerlとして動作するようになります。
ちなみにFreeBSD 4.xではシステムに既にPerl 5.0系が含まれていますが、上記と同様の方法でportsからインストールしたPerlを標準に指定することが可能です。
またシステム標準のPerl(5.0系)を標準に戻したい場合は、use.perl systemを実行してください。
# use.perl system
# perl -v
This is perl, version 5.005_03
# use.perl port
# perl -v
This is perl, v5.8.2
上のような感じで標準のperlのバージョンが切り替わります。
Perlに依存するportsが既に入っている場合は、portupgradeを使うのが良いでしょう。
portupgradeについては省きますが入っていない場合はインストールしてください。
例ではPerl 5.6.1_15がインストールされているものとしています。以下を自分の環境に置き換えて実行してください。
portupgradeによって自動的にPerlに依存しているportsが更新されます。
# portupgrade -o lang/perl5.8 -f perl-5.6.1_15
# use.perl port
# portupgrade -f p5-\*
1行目でperl本体の置き換え、2行目でインストールしたperlを/etc/make.confに登録、3行目でperlに依存しているportsを更新しています。