
# Script 1 (Unconditional use)use mylibrary;if($condition){ # Do something with mylibrary}# Script 2 (Conditional use)if($condition){ use mylibrary; # Do something with mylibrary}解决方法 use是一个编译时构造.在您的两种情况下,mylibrary实际上是在您的“无条件”和“有条件”情况下导入的.如果要有条件地导入库,请使用require,即运行时构造. if ($condition) { require mylibrary; # mylibrary->import; # ...} 在这种情况下,您将失去一些编译时使用的好处.例如,require在编译时不会像使用那样调用mylibrary-> import.如上所示,你可以自己调用import,但是在编译时有效的任何导入都不会在运行时调用.
假设您的模块mylibrary导出函数foo.然后这工作:
use strict;use mylibrary; # exports function foo()foo;
但这是一个错误:
use strict;require mylibrary;mylibrary->import; # too late to notify Perl's parser about the foo() functionfoo; # error; unkNown function
至于这样做是否有任何好处,如果导入mylibrary是昂贵的.大多数时候,可能不是.
总结以上是内存溢出为你收集整理的Perl库的用法全部内容,希望文章能够帮你解决Perl库的用法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)