gpt4 book ai didi

perl - 在 Perl 中,如何确定已加载的特定模块的模块版本?

转载 作者:行者123 更新时间:2023-12-02 05:48:10 25 4
gpt4 key购买 nike

前言:我知道如何加载特定版本的模块。那不是我所追求的。

我正在编写一个脚本来从我公司的内部服务器中检索一些格式化为 JSON 的文本/纯数据。我正在使用 LWP 进行数据检索。

我已经完成了所有脚本本身,但有一个问题。

我在 RHEL5 上写这篇文章,它使用 Perl 5.8.8 和 LWP 5.805。根据下面的页面,如果我想直接将响应的内容输出到文件,我应该使用 :content_file => filename

但是,请注意以下内容。

Note that this ":content_file" option isn't supported under older versions of LWP, so you should consider adding use LWP 5.66; to check the LWP version, if you think your program might run on systems with older versions.

If you need to be compatible with older LWP versions, then use this syntax, which does the same thing:

use HTTP::Request::Common; $response = $ua->request( GET($url), $filespec );

因为这是 RHEL 5,我必须使用旧的 LWP 格式,但我想制作我的脚本,以便它在 RHEL 6 及更高版本上运行时使用新样式而不是旧样式,它使用支持 :content_file 的更新版本的 LWP。

因此,我需要知道如何检测模块版本,更重要的是,我需要知道最早支持:content_file的LWP版本是什么

最佳答案

LWP::UserAgent的版本号在包变量$LWP::UserAgent::VERSION中,也可以使用$LWP::VERSION 如果你写了使用LWP加载模块

但是,没有理由对不同版本的模块使用不同的方法;向后兼容的替代方案

my $response = $ua->request( GET($url), $filespec )

在任何版本上都可以正常工作

关于perl - 在 Perl 中,如何确定已加载的特定模块的模块版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41133049/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com