首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获得已安装的Perl模块的版本和位置?

如何获得已安装的Perl模块的版本和位置?
EN

Stack Overflow用户
提问于 2009-12-17 15:27:10
回答 8查看 3.2K关注 0票数 5

有没有一种聪明的方法来检测系统中是否安装了某个Perl模块?我的老方法是编写一个Perl脚本,在这个脚本中,我唯一要做的就是使用模块。如果在运行检测脚本时没有发出任何声音,那么我知道模块已经安装,尽管我仍然不知道模块安装的版本和位置。

提前谢谢。

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-12-17 15:38:38

类似于:

代码语言:javascript
运行
复制
perl -MModule -e 'print "$Module::VERSION\n"' 2>/dev/null || echo "Not installed"

会给你一个给定模块的版本,或者告诉你它没有安装。用法如下所示:

代码语言:javascript
运行
复制
perl -MXML::Parser -e 'print "$XML::Parser::VERSION\n"' 2>/dev/null || echo "Not installed"

要查找模块路径,您可以检查@INC以查找可能的位置,或者您也可以查看perlwhich。还有来自pmtoolspmpath

票数 10
EN

Stack Overflow用户

发布于 2009-12-18 23:50:24

据我所知,最短的事情不涉及脚本或shell别名:

代码语言:javascript
运行
复制
$ perl -MFoo::Bar\ 99
Foo::Bar version 99 required--this is only version 1.234.

(或者,如果未安装@INC,则通常会显示不在其中的消息)

对于好奇的人来说,这和perl -e 'use Foo::Bar 99'是一样的。

票数 6
EN

Stack Overflow用户

发布于 2009-12-17 15:45:48

instmodsh

代码语言:javascript
运行
复制
NAME
       instmodsh - A shell to examine installed modules

SYNOPSIS
           instmodsh

DESCRIPTION
       A little interface to ExtUtils::Installed to examine installed modules, validate your packlists and even create a tarball from an installed module.

SEE ALSO
       ExtUtils::Installed
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1920045

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档