in reply to Hiding classes (package names) from CPAN

Try putting them in one file (Foo/Bar.pm if you want to release a Foo::Bar module), but in different packages (Foo::Bar::Small, Foo::Bar::Large, Foo::Bar::Strange, etc).

Of course, this can cause complications if you want to autoload these classes. In that case, put them in separate files and write a very short perldoc for them saying it's an internal module/class. See CGI::Util for an example.

  • Comment on Re: Hiding classes (package names) from CPAN