3

我想知道IO::Socket::SSL模块的位置,或者更具体地说,文件SSL.pm的位置。我已经知道我已经安装了IO::Socket::SSL因为use IO::Socket::SSL工作。

4

4 回答 4

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";
于 2013-07-05T09:39:12.580 回答
4

这应该工作

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

或者在 cmd.exe 中

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

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

于 2013-07-05T08:37:08.497 回答
3

你可以做:

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

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

于 2013-07-05T08:12:59.510 回答
1

pmtools提供了一系列有用的命令行工具,用于查找包的安装位置(pmpath)、版本号(pmvers)等

于 2013-07-05T12:40:17.360 回答