Thanks to John, David, and Dan for their thoughts on my module naming question. So to avoid potentially tromping on another author's name space doing something like:
Class::Error::Foobar where `Class::Error` already exists, I can avoid the whole problem by just picking a different but similar name: Class::Fault which is currently not used. For my purposes that name works well. The only thing I don't like is that it feels like I am squatting on something fairly generic near the top of the name space. If I were to push my one and only module down a level as: Class::Fault::Foobar would it be a faux pas if there is no Class/Fault.pm or anything else at that second level? ...BC