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?
In reply to Re: scripts to use / require the module
by derby
in thread scripts to use / require the module
by rose
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |