Given a working Perl 5.12 install (via MacPorts), doing a sudo port install perl5.16 does not update the perl symlink:
% ls -alF /opt/local/bin/perl lrwxr-xr-x 1 root admin 8 Jun 6 15:19 /opt/local/bin/perl@ -> perl5.12
The magic incantation is to install a the perl5_16 variant of the perl5 package:
sudo port install perl5 +perl5_16
With this done, the symlink is updated and perl loads the expected version.
% ls -alF /opt/local/bin/perl lrwxr-xr-x 1 root admin 8 Aug 9 12:45 /opt/local/bin/perl@ -> perl5.16 % perl -v This is perl 5, version 16, subversion 0 (v5.16.0) built for darwin-thread-multi-2level