专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Perl/Python

Perl 怎么自动加载模块的

发布时间:2011-06-29 19:58:59 文章来源:www.iduyao.cn 采编人员:星星草
Perl 如何自动加载模块的?
本人学习Perl   没有多久,最近要完成一个功能,需要从   XML   文件里读取配置信息,配置信息里保存的是某个自己写的模块,比如:

<action   name= "init "   class= "MyApp::Action::Init "/>

这里的   MyApp::Action::Init   就是我的   Init.pm   的完整包路径,我现在需要在我的一个Perl程序里使用这个模块。

比如我用如下方法得到了我的包路径

my   $action   =   $xmlref-> getAction( 'action.xml ');
print   $action   #   得到一个保存了字符串   MyApp::Action::Init   的变量

我现在希望通过得到的这个完整路径得到一个这个模块的对象

$myaction   =   new   $action();

这样的方法在

use   MyApp::Action::Init;

的情况下是可以成功的,但是这里   MyApp::Action::Init   是通过动态读取   xml   文件得到的,每次可能都不一样,我不能直接采用硬编码的方式写在代码中,于是我想采用

use   $action;

这样的方式,结果就出错了

请问大家这样的问题怎么解决呢   ?   谢谢   !!!

------解决方案--------------------
$modname = "MyApp::Action::Init ";
$modname =~ s/::/\//g;

require "$basedir/$modname.pm ";
------解决方案--------------------
或者直接 require $action;
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: