如何在Perl中使用单个.pm文件



我的perl脚本对时间非常敏感,需要另一个库中的单个函数foobar。目前,该脚本使用执行此操作

use lib qw(/usr/lib/foo/);

不幸的是,这个库相当迟钝,这一行导入了数百个文件和子目录,占用了大约一秒钟的处理时间。

  • foobar是在/usr/lib/foo/bar.pm中定义的,所以我不能进一步缩小use lib的范围
  • foobar不依赖于库中的任何其他文件——如果我将其他文件从/usr/lib/foo/中移出,它的执行速度至少快10倍,所以我只是尽量避免这种情况。我确实希望bar.pm会随着时间的推移而改变,所以制作自己的独立库并不理想

什么是最干净的方法来提取这个.pm文件而不提取其他文件?理想情况下进入主名称空间,这样我就可以直接调用函数,而不需要破坏编码风格。在一个理想的世界里,我只能使用use lib qw(/usr/lib/foo/bar.pm),但它不是那样的。

lib不拉入任何内容。bar是(直接或间接(拉入所有其他模块的模块。如果您想加载条而不想加载其他条,则必须更改条。

最新更新