in reply to
Private namespace package question
From what you've shown, it seems Private.pm's only purpose is to load a group of commonly used modules. This was probably done by the original author(s) to avoid retyping all of those 'use ...' statements into each of the Perl scripts.
IMHO, this is usually a bad idea, and can be avoided through better design. If each of the scripts always needs each of these modules, they can most likely have much of their workload, and page displaying functionality done through a common module.
That said, you should also understand clearly what that warning is about. If a module included by Private.pm exports anything (for example, Carp.pm exports carp() and croak()), you will not be able to use it from outside of Private.pm. Instead you will need to fully qualify the name (Carp::carp() for example).