lang/perl5.8's pkg-message suggests using 'use.perl port', but doesn't mention it must be run again after perl upgrades. Perhaps there should be something in portupgrade's documentation for this too, but that's a secondary issue.
To this text in pkg-message:
If you want this version of Perl to be used by default, please type
Assuming that use.perl script (which was installed with the rest of the
Perl distribution) can be found in your PATH (you might have to type
`rehash' first, depending upon a shell you use), this action will
replace /usr/bin/perl and /usr/bin/suidperl with symbolic links to the
versions of these binaries in the Perl distribution. This action will
also put some variables into your /etc/make.conf file, so that newly
installed ports (not packages!) will use new version of perl, and the
system upgrades from the source will not overwrite the changes made.
Add something like:
Note that use.perl port is specific to a given perl installation (version). If you later upgrade the perl port, use use.perl port again to update the symbolic links and /etc/make.conf.
How-To-Repeat: Install lang/perl5.8; use.perl port; upgrade to a later version with lang/perl5.8; install packages, and observe perl being confused between the two 5.8.x subversions. See also ports/60582 for an example of user confusion.
Over to perl maintainer
A variant of the suggested note added to the pkg-message.