[PerlChina] 求助如何动态加载模块, dynamic load Module

rorot yang.liana at gmail.com
Mon Dec 3 09:24:01 PST 2007


在07-12-3,Qiang ( James ) Li <shijialee at gmail.com> 写道:
>
> Class::DBI 是 Perl 里最老的一个 ORM 模块,虽然稳定,但使用 Class::DBI 的
> 人很多已经转到 DBIx::Class 上了,既然你是刚开始使用 ORM,我推荐你使用
> DBIx::Class 或 Rose::DB。


谢谢,看了DBIx::Class的文档,觉得是OO的模式,我想我会把它应用在接下来的模块中。Rose::DB还没来的及看:)

另外,我碰巧要用从网页的 DOM 里提取数据,试了一下 Web::Scraper 发现很好
> 用。http://search.cpan.org/~miyagawa/Web-Scraper-0.24/lib/Web/Scraper.pm
> 文档里的例子就能说明它的用途。


一下子没看明白Web::Scraper的优势。这个。。。。。。。

程序是运行在 mod_perl 下的么?如果是的话那就没有必要动态加载。即使在
> plain cgi 下,多加载一个或两个模块对运行速度到底有多大区别?
>
> 常说的一句话:在你没有找到瓶颈的时候,不要做无谓的提速。
>
> 动态加载你可以使用 require :
>
> if ( $output_type = 'xml' ) {
>     eval { require XML::OUTPUT };
>     die if $@;
>     print $xml_output;
> }


这话说的对,用eval{
require...}处理动态加载,不失为一种方法。不过我现把该用到的块先包进来再说。其余在以后调优。另外,我有个关于mod_perl的问题。就是自己的代码包了很多自己写的模块,然后在mod_perl下跑,但是由于在开发阶段,所以经常性的修改被脚本包含的模块,但是却不见mod_perl立即更新。而且其启动时加载的原来的老模块的内容。搞的我每次修改了模块,都要重启一次Apache,
这个问题如何解决呢?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.pm.org/pipermail/china-pm/attachments/20071204/87a52a71/attachment.html 


More information about the China-pm mailing list