Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine

why use module??

by Anonymous Monk
on May 06, 2002 at 03:53 UTC ( #164219=perlquestion: print w/replies, xml ) Need Help??

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

Hi dear all, I would like to know more about module in perl. 1. why do we use module in perl, is it just to enforce on more strictness in variable declaration? 2. Does the using of module help to increase the loading speed of the page? If it does, by how much?? is it a lot faster?? 3. Can anyone tell me what is the purpose in using module the pro and con of it. Thanks and best regards.

Replies are listed 'Best First'.
Re: why use module??
by cjf (Parson) on May 06, 2002 at 04:09 UTC
    why do we use module in perl

    Lots and lots of reasons, here are two of the main advantages:

    • Faster development time, a lot of code is already written for you.
    • Many modules have been extensively tested and are, in all probabilty, more solid than code you would write yourself.
    Does the using of module help to increase the loading speed of the page?

    You sound a bit confused here. Modules can be used for much more than just HTML generation. For HTML generation though, using a template system will definately make your code a lot cleaner, more maintainable, and faster to develop than printing HTML will a bunch of heredocs and loops. On the other hand, I'm not a big fan of using's generation methods and would almost prefer a mess of heredocs to them :).

    You might also want to take a look at UTFM - Use the Friendly Modules and/or do a super search on the subject.

    Update: As for templating systems, check out HTML::Template and jeffa's excellent tutorial on the subject.

      actually what I am asking about is should we write our own code into perl module or simply just use a normal include file for common sub routine that need to use on more than 1 script (which is without adding the line package in front to make it a perl module). does this make a different?

        in my eyes, it depends on what you want to do and how big the script will become.

        E.g. if you've got a whole script suite that will work for a special web application, it might be a rather good idea to put the common used subroutines (or the like) into a module which is used by most of the scripts. Another point for a module might be configuration information for connections to database and the like (better never put such a module in a directory shared by web because of security), because it becomes much easier to maintain and change some items and as another benefit, code reusability might increase and the code might become more general.

        But for - let's say - a simple guestbook or the like, I'd rather not use a module, but for a webforum like perl-monks, I'd use quite some modules.

        I prefer loading modules that might be just needed in certain cases via require (and no import, because I hate namespace polluition), so it will be loaded in runtime if it is needed, unlike use, which loads it in every case.
        How are other people handling this?

        Best regards,
        perl -le "s==*F=e=>y~\*martinF~stronat~=>s~[^\w]~~g=>chop,print"

Re: why use module??
by mirod (Canon) on May 06, 2002 at 08:36 UTC

    You might want to put your common code in a module for 2 main reasons: modularity of the code which leads to ehanced maintainability and speed if you use mod_perl.

    I found that putting code in modules makes it much easier to manage it than including it through a do (or physically): each module has its own namespace (package), which reduces the risks of name collision. Instead of having to know all of the functions in the common file to avoid re-using the name you will have a foo function in your main code and a MyModule::foo function in the module. You can also use module variables, which will not be seen, and thus can't be mistakingly overwritten, by the main code.You can also have several modules, included only when needed, which will decrease the loading time of the code.

    If you use mod_perl you can also pre-load the module(s) so you don't have to pay the price for loading it each time you use it.

    Generally speaking using module helps you produce better , more modular code. You don't have to use them, but you will probably become a better coder if you do.

Re: why use module??
by grep (Monsignor) on May 06, 2002 at 04:25 UTC

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://164219]
Approved by rob_au
Front-paged by cjf
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2023-12-01 04:19 GMT
Find Nodes?
    Voting Booth?

    No recent polls found