BEGIN {
require Caterpillar;
Caterpillar->import("crawl", "pupate");
}
}
BEGIN {
require Caterpillar;
}
- 不,这三个例子并没有放错顺序,只是Perl比较笨罢了。
use
只是BEGIN
块的伪装,同样的警告对此也适用。use
语句必须总是放在文件开头,并且永远不要放在条件分支里。- 并不是Perl的内置函数,它只是一个用户自定义的类方法。定义或者继承
import()
函数的重任就落在写Caterpillar
这个包的程序员身上了。这个方法理论上可以接受任何东西作为参数,也可以对参数做任何操作。use Caterpillar;
可以做任何事情,你需要查询Caterpillar.pm
的文档来判断到底会发生什么。