leocharre has asked for the wisdom of the Perl Monks concerning the following question:

What if I have a module that does something specific like Sports::Play::Tennis, but there is no Sports::Play- and I'm thinking there could be? A dangling module if you will..

I have a module that I placed in namespace Finance::MICR::LineParser. Thing is, Finance::MICR does not exist. It should/could exist- and my LineParser.pm module does not belong as MICR. I know it.

Another example, I have a module to manage metadata for files specifically for a website. It seemed like the right thing to do to name it as CGI::Metadata::Filed (i didn't think it belonged in Metadata, i thought this was more of a cgi thing then what is currently *in* the Metadata namespace). The reasoning is that there could/would/should be a CGI::Metadata::SomethingElsed.

When I have modules that sort of dangle like this.. Is this ok? Am I pissing anybody off? Should I just have called those CGI::MetadataFiled and Finance::MICRLineParser? Please suggest. I don't want to potentially pollute.

  • Comment on How to name modules without a parent namespace?

Replies are listed 'Best First'.
Re: How to name modules without a parent namespace?
by jkeenan1 (Deacon) on Nov 14, 2006 at 00:25 UTC
    The quasi-official place for CPAN namespace discussions is the module-authors@perl.org mailing list. The feedback from follows is the kind which, for better or worse, you will get there.

    What if I have a module that does something specific like Sports::Play::Tennis, but there is no Sports::Play- and I'm thinking there could be?

    What does Play add that's not already suggested by Sports and Tennis?

    I have a module that I placed in namespace Finance::MICR::LineParser. Thing is, Finance::MICR does not exist. It should/could exist- and my LineParser.pm module does not belong as MICR. I know it.

    Alright, you've persuaded me that your module is misnamed. What should it be named?

    Another example, I have a module to manage metadata for files specifically for a website. It seemed like the right thing to do to name it as CGI::Metadata::Filed (i didn't think it belonged in Metadata, i thought this was more of a cgi thing then what is currently *in* the Metadata namespace). The reasoning is that there could/would/should be a CGI::Metadata::SomethingElsed.

    Okay, but what's the CGI connection? Just because it has to do with a website doesn't necessarily mean it should be in the CGI namespace.

    When I have modules that sort of dangle like this.. Is this ok? Am I pissing anybody off?

    If you post these questions on the module-authors list before you upload your modules to CPAN, and respond intelligently to the feedback you get there, you effectively CYA.

    Jim Keenan

      Thanks for the heads up.

      I have taken some tought and pain into what should be where.. sigh. I'm sure MICR belongs in Finance. But- as you mention - just because some module has to do with a site.. it doesnt mean it should be under CGI (just seems kind of what every one else did there, no?).

      I had some problems with a module-authors link I got through pause. I'll look further and update.

      update.. I'm trying perl.modules newsgroup (nntp).

        leocharre wrote:

        update.. I'm trying perl.modules newsgroup (nntp).

        No, you want perl.module-authors, not perl.modules (regardless of which interface you use). perl.modules has an entirely different function.

        jimk

        Jim Keenan