Each perl-$version source package will build at least perl-$version-base, perl-$version, perl-$version-doc, perl-$version-suid and perl-$version-debug.
You can also have things like perl-$version-thread or perl-$version-libperl (or libperl-$version) depending on the perl version and on the motivation of the perl maintainer. :-)
As perl-5.004 and perl-5.005 may be installed at the same time, the files must be installed in versioned directories so that one package does not overwrite the other's files. But they should cooperate so that the man page refers to the good version of Perl (/usr/bin/perl) and so that /usr/bin/perl will always be the latest Perl.
Perl should always look for modules in /usr/lib/perl5 as it's the standard directory used for installing non-binary Perl modules.
A Debian system must always have a working /usr/bin/perl as it's used by postinsts and by numerous scripts called from postints like adduser, update-alternatives and so on.
To achieve this goal, a perl-$version-base package must always be installed. That's the reason why the fake package perl-base is essential and depends on perl5-base that is provided by all perl-$version-base packages.
This is the standard Perl package containing all the modules shipped with the Perl sources. It should provide perl5 so that Perl scripts do not need to worry about which perl-$version is the current one. It does depend on perl-$version-base as it does not provide the Perl binary.
hertzog@debian.org