Content deleted Content added
→Packages and modules: Add comments in invocation example; amplified commentary |
Mindmatrix (talk | contribs) use {{discuss|Packages and modules}} instead |
||
Line 1:
A '''Perl module''' is a discrete component of software for the [[Perl]] programming language. Technically, it is a particular set of conventions for using Perl's [[#Perl packages and namespaces|package]] mechanism that has become universally adopted.
A module defines its source code to be in a '''[[package]]''', the Perl mechanism for defining [[namespace]]s, e.g. ''CGI'' or ''Net::FTP'' or ''XML::Parser''; the file structure mirrors the namespace structure (e.g. the [[source code]] for ''Net::FTP'' is in ''Net/FTP.pm''). This mechanism is similar to that of [[Java package]]s. Furthermore, a module is the Perl equivalent of the [[class (computer science)|class]] when [[object-oriented programming]] is employed.
A collection of one or more modules, with accompanying documentation, build scripts, and usually a test suite, compose a '''distribution'''. The Perl community has a sizable library of distributions available for search and download via [[CPAN]].
|