随笔-124  评论-194  文章-0  trackbacks-0

Ways to include code/library from another file (eval, do, require and use)

1)  do $file is like eval `cat $file`, except the former:
    1.1: searches @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, slipping 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.


eval除了可以形成动态CODE外,还可以做异常捕捉:

  eval {
...
};
if ($@) {
errorHandler($@);
}

$@在无异常时是NULL,否则是异常原因
posted on 2008-08-12 10:42 我爱佳娃 阅读(432) 评论(0)  编辑  收藏 所属分类: Perl

只有注册用户登录后才能发表评论。


网站导航: