首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Perl中加载带有Namesace重叠的模块

在Perl中加载带有Namesace重叠的模块
EN

Stack Overflow用户
提问于 2014-02-12 15:20:07
回答 1查看 44关注 0票数 0

快速摘要:脚本更改一个符号链接,用于加载模块,我需要从同一个位置加载同一模块的两个不同版本,一次在移动之前,一次在移动之后。

详细摘要:脚本更改正在运行的程序的安装版本。

在一个文件夹中,我有一个符号链接(‘/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”语句进行作用,或者覆盖加载了哪些模块,或者卸载这些模块?

任何想法都值得赞赏!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-12 15:31:19

更改符号链接后,请执行以下操作:

代码语言:javascript
复制
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;
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21731957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档