Perl的包package是用来提供命名空间的方式,一个package从package关键子开始,到文件结尾、eval结尾或者另一个
package开始时结束。默认情况下,在一个package中不能访问其他package定义的符号(变量、函数等),除非用use导入其他
package的符号表。
一个package的名字A,且文件名是A.pm,那么A就是一个Perl Module模块。
perlfaq8 What's the difference between require and use?
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.
5) In general, you usually want use and a proper Perl module.
阅读(1157) | 评论(0) | 转发(0) |