你可以
use一个模块,只要它之前已被加载.这就是为什么你可以使用其他模块创建的对象而不知道它们是什么对象类型的原因.例如,您可以使用从
LWP
方法返回的
HTTP::Response
对象,尽管您从未自己加载HTTP :: Response或意识到它是那种对象.但是,使用只导入到
调用命名空间,因此这些导入不会
显示在其他包中(即使您仍然可以使用完整的包规范
调用它们).
您应该使用您的包要直接使用的任何模块.也就是说,将模块用于您直接创建的对象.
您也不应该依赖其他包来为您加载模块.如果有人改变了那些模块,你就会被困在想知道为什么事情会破裂.而且,即使这样,您依靠模块加载顺序来确保一切正常.