You are correct in what require does: it loads the given module at runtime. use when applied to a package name is equivalent to
BEGIN
{
require <package>
import <package> [<arguments>]
}
The BEGIN wrapper is what makes the statement execute when it is encountered. Perl loads eveything found in a BEGIN subblock before all other code in that block. The real difference is the import function, which is defined by the package itself (usually through inheriting from
Exporter). import is responsible for taking functions and variables defined in that package and importing them to the calling package's namespace. So in your example, import takes the
get function defined in LWP::Simple and imports it to the main package... so that now you no longer need the fully qualified name. Make sense?
Hope this helps,
-Ton
-----
Be bloody, bold, and resolute; laugh to scorn
The power of man...
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
| |
For: |
|
Use: |
| & | | & |
| < | | < |
| > | | > |
| [ | | [ |
| ] | | ] |
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.