快速摘要:脚本更改一个符号链接,用于加载模块,我需要从同一个位置加载同一模块的两个不同版本,一次在移动之前,一次在移动之后。
详细摘要:脚本更改正在运行的程序的安装版本。
在一个文件夹中,我有一个符号链接(‘/a/b/c/平行四边形’),它指向我的软件的已安装分支(‘/a/b/c/1_平行四边形’)。
我的脚本以“使用平行四边形::Const”开头。然后,我做了一些事情,包括使我的平行四边形符号点在‘/a/b/c/2_平行四边形’。
在这一点上,我有一个‘要求2_平行四边形/配置.下午’。问题是,Config.pm有一个‘使用平行四边形::Const’。--我需要它来引用2_parallelogram中的Const.pm,但是由于我已经加载了1_平行四边形/Const.pm,所以它使用了该文件.
我不能更改Config.pm或Const.pm的内容。
是否有一种方法可以在本地对这些“use”语句进行作用,或者覆盖加载了哪些模块,或者卸载这些模块?
任何想法都值得赞赏!
发布于 2014-02-12 15:31:19
更改符号链接后,请执行以下操作:
delete $INC{'parallelogram/Const.pm'};
delete $INC{'parallelogram/Config.pm'};
use Symbol 'delete_package';
delete_package('parallelogram::Const');
delete_package('parallelogram::Config');
require parallelogram::Config;https://stackoverflow.com/questions/21731957
复制相似问题