Spe*_*mon 2 perl module version
前言:我知道如何加载特定版本的模块.那不是我追求的.
我正在编写一个脚本来从我公司的内部服务器检索格式化为JSON的文本/纯文本数据.我正在使用LWP进行数据检索.
我已完成所有脚本本身,但有一个问题.
我在RHEL5上写这个,它使用Perl 5.8.8和LWP 5.805.根据下面的页面,如果我想直接输出响应的内容到文件,我应该使用:content_file => filename
但是,请注意以下内容.
请注意,旧版本的LWP不支持此":content_file"选项,因此您应该考虑添加使用LWP 5.66; 检查LWP版本,如果您认为您的程序可能在具有旧版本的系统上运行.
如果您需要与较旧的LWP版本兼容,请使用此语法,它执行相同的操作:
use HTTP::Request::Common; $response = $ua->request( GET($url), $filespec );
由于这是RHEL 5,我必须使用较旧的LWP格式,但我想制作我的脚本,以便在RHEL 6及更高版本上运行时使用新样式而不是旧样式,后者使用较新版本支持的LWP :content_file.
因此,我需要知道如何检测模块版本,更重要的是,我需要知道最早支持的LWP版本是什么 :content_file
版本号LWP::UserAgent位于包变量中$LWP::UserAgent::VERSION,或者$LWP::VERSION如果您已编写use LWP加载模块,则可以使用
但是,没有理由对模块的不同版本使用不同的方法; 向后兼容的替代方案
my $response = $ua->request( GET($url), $filespec )
Run Code Online (Sandbox Code Playgroud)
任何版本都可以正常使用