jos*_*inm 2 perl memory-management
有没有办法在运行时在Perl中加载整个模块?我以为我找到了一个很好的解决方案autouse但是下面的一些代码无法编译:
包tryAutouse2;
使用autouse'tryAutouse';
my $ obj = tryAutouse-> new();
我想这是因为autouse它特意用于导出函数,我是否正确?由于编译失败,是不可能有一个打包的解决方案?require如果我想要动态加载,我是否被迫在每个新模块调用之前?
这背后的原因是我的团队加载了很多模块,但我们担心这会占用内存.
你想要Class :: Autouse或ClassLoader.
由于太多魔法,我只在我的REPL中使用ClassLoader以方便起见.对于严肃的代码,我总是明确地加载类.Jack Maney在评论中指出Module :: Load和Module :: Load :: Conditional适合延迟加载.