我对这种语言很陌生,但我之前一直在使用use
导入特定模块,
为什么LWP::UserAgent
使用require
来完成perldoc LWP::UserAgent
的工作:
require LWP::UserAgent;
答案 0 :(得分:3)
use LWP::UserAgent;
与
相同BEGIN {
require LWP::UserAgent;
import LWP::UserAgent;
}
如果require LWP::UserAgent;
可以接受,则表明import
对LWP :: UserAgent没有任何作用。也许文档使用require
的意思是巧妙地暗示这一点?
require LWP::UserAgent;
和use LWP::UserAgent;
之间的唯一区别是执行require
时。对于前者,它发生在整个文件编译之后。对于后者,只要编译该语句就会发生。实际上,面向对象模块没有太大区别。
就个人而言,我使用
use LWP::UserAgent qw( );
与
相同BEGIN {
require LWP::UserAgent;
}
这样,我保证不会导入任何我不想要的东西,而且我使用熟悉的use
我用于其他模块。
答案 1 :(得分:1)
require Module :: Name与使用效果相同,仅在运行时,而不是在编译时。当您想要有条件地需要模块时,这有时是有利的。我认为医生没有任何特别的理由说要求而不是使用。
答案 2 :(得分:-2)
这不是一个理想的答案,但也许可以帮助那些来自谷歌的人。
对于消息错误:在./apache_accesses第86行找不到LWP :: UserAgent。
解决方案: apt-get install libwww-perl