Perl 5 the language doesn't strictly have the concept of a module: it has a "package", and even that bears only somewhat weak conventional overlap with a single file. A module on the other hand seems to be, by conventional usage, the unit of consumption by code. Since a distribution almost always also comes with additional files such as Makefile.PL, documentation, a changelog, metadata regarding prerequisites and licensing etc., and since CPAN attempts to make it easy to manage these units of software, you upload distributions, not modules, even if your distro has a single .pm file in it.

(Incidentally, Perl 6 does have a "module" keyword, which encapsulates namespacing just like packages do, but adds versioning to the story. No doubt software will continue to have private namespaces not meant to be consumed by the user code directly, and perhaps the author of those would choose to use modules and not packages to contain them, but I'm betting programmers will continue to loosely talk about "installing that module" when in fact more than one may have been involved. (Then again, Perl 6 has lexically scoped namespaces, so if in the middle of my module I decide I need to implement a Parser, I can do "my package Parser {...}" and my stuff will not clash with any Parser namespace that was visible to you, where you had called me.))


In reply to Re^3: CPAN: modules, distributions, and bundles by gaal
in thread CPAN: modules, distributions, and bundles by j3

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.