在perl传递中"使用"吗?

tri*_*ity 3 perl perl-module

package AA;

package BB;
use AA;

package CC;
use BB;
Run Code Online (Sandbox Code Playgroud)

我必须放入use AACC,还是隐含的?

bri*_*foy 9

您可以使用模块,只要它之前已经加载了某个模块.这就是为什么你可以使用其他模块创建的对象而不知道它们是什么对象类型的原因.例如,您可以使用HTTP::ResponseLWP方法中获取的对象,尽管您从未加载过HTTP::Response自己或者意识到它是那种对象.但是,use只能导入调用命名空间,因此这些导入不会显示在其他包中(即使您仍然可以使用完整的包规范调用它们).

您应该use直接使用包的任何模块.也就是说use,您直接创建的对象的模块.

您也不应该依赖其他包来为您加载模块.如果有人改变了那些模块,你就会被困在想知道为什么事情会破裂.而且,即使这样,您依靠模块加载顺序来确保一切正常.