Perl 模块管理: eval, do, require, use

Perl 程序加载子程序文件的方式涉及几个不同的命令。

  • eval - 运行时执行代码
  • do - 加载指定的文件,每次调用都会执行
  • require - 只加载一次
  • use - 加载模块的同时,导入指定的 symbols

eval

不言自明

eval '$abc=123';

do

do 'foo/bar.pm';

require

require foo::bar;

# 等效于

do 'foo/bar.pm';  # 只执行一次

use

use Module LIST;
BEGIN { require Module; Module->import( LIST ); }