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

Dear Monks,

I am confusing using use and require the module.

Can you please give some link/sample coding to illustrate.

Thanks in Advance
Rose

Replies are listed 'Best First'.
Re: scripts to use / require the module
by derby (Abbot) on Jun 20, 2006 at 12:38 UTC

    From perlfaq8:

    What's the difference between require and use?

    Perl offers several different ways to include code from one file into another. Here are the deltas between the various inclusion constructs:

    1) do $file is like eval `cat $file`, except the former
    1.1: searches @INC and updates %INC.
    1.2: bequeaths an *unrelated* lexical scope on the eval'ed code.

    2) require $file is like do $file, except the former
    2.1: checks for redundant loading, skipping already loaded files.
    2.2: raises an exception on failure to find, compile, or execute $file.

    3) require Module is like require "Module.pm", except the former
    3.1: translates each "::" into your system's directory separator.
    3.2: primes the parser to disambiguate class Module as an indirect object.

    4) use Module is like require Module, except the former
    4.1: loads the module at compile time, not run-time.
    4.2: imports symbols and semantics from that package to the current one.

    In general, you usually want "use" and a proper Perl module.

    So the main differences are require works at run-time, use at complile-time and use may import symbols from the module namespace into the current namespace. Does that help?

    -derby
Re: scripts to use / require the module
by holli (Abbot) on Jun 20, 2006 at 12:41 UTC