lchl0388 发表于 2018-8-31 08:25:37

Perl中use函数

  use
  现在,你已经知道迟钝的行为和包的语义,模块,类方法和BEGIN块。现在可以解释经常看到的use函数。
  以下3个语句:
  


[*]use Caterpillar ("crawl", "pupate");
[*]use Caterpillar ();
[*]use Caterpillar;
  

  跟下面是等价的:
  


[*]BEGIN {
[*]    require Caterpillar;
[*]    Caterpillar->import("crawl", "pupate");
[*]}
[*]BEGIN {
[*]    require Caterpillar;
[*]}
[*]BEGIN {
[*]    require Caterpillar;
[*]    Caterpillar->import();
[*]}
  

  ·三个例子并不是顺序有误。这只是因为Perl沉默的
  ·use调用实际是BEGIN块的伪装。使用use语句同样要放在文件的头部,不要放在条件判断语句里面。
  ·import()并不是一个内置perl函数。它是一个用户定义的类方法。这个由程序员在Caterpillar包中定义或者继承import(),并且这个方法理论上接受任何淡出,并使用这些参数做任何操作。参阅Caterpillar.pm的文档看看实际会发生什么。
  ·注意require Caterpillar是如何载入一个名为Caterpillar.pm的模块,而Caterpillar->import()调用Caterpillar包中定义的import()子程序。希望模块和包是一致的。


页: [1]
查看完整版本: Perl中use函数