我怎么知道Perl模块的安装位置?

时间:2013-07-05 07:56:44

标签: perl perl-module

我想知道 IO :: Socket :: SSL 模块的位置,或者更具体地说, SSL.pm 所在的位置。我已经知道我已安装 IO :: Socket :: SSL ,因为use IO::Socket::SSL有效。

4 个答案:

答案 0 :(得分:6)

我总是使用这样的东西:

%> perl -MIO::Socket::SSL -e 'print $INC{"IO/Socket/SSL.pm"}';

如果模块未安装在perl可以获得的正确路径中,则会得到路径或错误。

如果您想查看该模块是否已安装:

%> perl -MIO::Socket::SSL -e 1

如果您没有收到任何错误,则会安装它。

有时查看已安装软件包的版本号非常重要:

%> perl -MIO::Socket::SSL -e 'print $IO::Socket::SSL::VERSION';

或者,如果您使用的是Windows,则必须使用双引号:

C:\> perl -MIO::Socket::SSL -e "print $IO::Socket::SSL::VERSION";

答案 1 :(得分:4)

这应该有效

perldoc -l 'IO::Socket::SSL'

或者cmd.exe

perldoc -l "IO::Socket::SSL"

-l开关表示“显示模块的文件名”。我发现它显示了模块的完全限定路径,或者(如果适用)模块的外部POD,它与模块本身位于同一目录中。

答案 2 :(得分:3)

你可以这样做:

perl -E'use IO::Socket::SSL; say $INC{"IO/Socket/SSL.pm"};'

但根据经验,大多数模块通常位于ubuntu上的/ usr / share / perl5中。

答案 3 :(得分:1)

pmtools package提供了各种有用的命令行工具,用于查找软件包的安装位置(pmpath),它所在的版本(pmvers)等等