我正在开发一些库的不同版本,并且希望从我编写的各种 plperl 函数中加载基于current_database()
.
(IIRC 使用use
而不是require
首选,我认为是因为它可能会缓存库?)
但是,我担心同一台服务器上的不同数据库会出现问题,无论哪种方式我都在考虑这样做:
1)use lib
然后use
-- 如果不止一条路径卡在@INC 上,它可能不是正确的被使用的路径
2)require
--即使这意味着在当前脚本中总是使用正确的,这是否意味着每次都重新加载库?无论哪种方式,如果库在使用后保持加载,是否有可能来自不同版本的命名空间污染可能导致错误?(例如,如果我有一些基于是否定义变量的分支,并且在一个版本中它是默认的,而在另一个版本中它不是 - 所有版本现在都会像它一样,除非我明确地取消定义它而不仅仅是没有定义它?)