One package perl pm file
Recently one of our readers checked if Tie::ExtraHash was installed on his system running perl 5.18.0.
He used perl -MTie::ExtraHash -e1 but it said the module was not installed. So he wanted to install it from CPAN, which then offered to upgrade perl to perl-5.18.2.
It turns out Tie::ExtraHash is declared in the pm file of Tie::Hash and you should not use it on its own.
That set aside, wouldn't it be better if all the packages, at least in the Perl core, had their
own pm file with their own version number?
It certainly has some advantages.
BTW If you'd like to make sure in your code every package has its own pm file,
you can use the Perl::Critic policy Prohibit Multiple Packages in the same .pm file. It could be used to improved your code one policy at a time.