Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight

Re: What is module? Difference between module and package?

by polypompholyx (Chaplain)
on Oct 28, 2005 at 07:44 UTC ( #503584=note: print w/replies, xml ) Need Help??

in reply to What is module? Difference between module and package?

A module is a .pm file containing some Perl code. A package is a declaration of the name of the current scope, e.g.:

package Math::Complex

which can occur in the code of a module or a script. A module can be used, because it is a physical 'thing', but a package cannot. A module may contain several packages: CPAN does this. The advantage is that the code inside that module can still be chunked up into classes/etc. by package declarations, as if these classes were separate modules, but that the functionality is still lumped into a single convenient file.

Replies are listed 'Best First'.
Re^2: What is module? Difference between module and package?
by liz (Monsignor) on Oct 28, 2005 at 11:54 UTC
    Please note that package is scoped:
    package Foo; print __PACKAGE__,$/; { package Bar; print __PACKAGE__,$/; } print __PACKAGE__,$/; __END__ Foo Bar Foo
    with the default scope being the file, or course (although you rarely have to think about things like that, fortunately).

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://503584]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others studying the Monastery: (7)
As of 2018-06-24 22:49 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.