如何在Perl中实现延迟模块加载?

前端之家收集整理的这篇文章主要介绍了如何在Perl中实现延迟模块加载?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在Perl中实现延迟模块加载? @H_502_2@我在python中看到了类似的东西,实现有点简单,但在Perl中我认为这会有点困难.

解决方法

根据需要加载模块 @H_502_2@如果需要在运行时加载整个模块,则使用require.但是要导入,则需要额外的代码.这是一个例子:

  1. ## this function is almost the same
  2. ## as "use My::Module qw( :something )"
  3. sub load_big_module_at_runtime {
  4. ## load module in runtime
  5. require My::Module;
  6. ## do import explicty if you need it
  7. My::Module->import( ':something' );
  8. }
@H_502_2@使用其功能时加载模块

@H_502_2@您还可以在use autouse仅在使用其功能时加载模块.例如:

  1. ## will load module when you call O_EXCL()
  2. use autouse Fcntl => qw( O_EXCL() );
@H_502_2@仅在使用时加载功能

@H_502_2@还有SelfLoader模块,它允许您仅在需要时加载单个功能.看看AutoLoader模块,它做了几乎相同的事情.

@H_502_2@我还建议从Perl Cookbook阅读相应的食谱.

猜你在找的Perl相关文章