如何查找(离线)perl 文档 - "case insensitive" 或使用正则表达式

How to find (offline) perl documentation - "case insensitive" or with regular expression

当我不知道确切的语法时,如何从 perldoc(离线)获取信息?

例如,在搜索 "lwp" 模块时,仅搜索 perldoc -m lwpperldoc -m lwp::simple(在 linux/unix 中)是不够的。
作为初学者,我想,perl 会提供类似 perldoc -m /lwp/ 的东西来搜索表达式。
但是你必须找出模块的确切语法,然后你可以搜索文档(或者,你会写一个 oneliner/grep 来搜索所有 pod 文件的表达式)——但有时我不会记住确切的语法并需要提示。

我想念什么吗?
可以使用表达式 perldoc -q something 搜索常见问题解答,但不能使用其他任何表达式 (-f / -m / ...) ? 感谢您的支持。

更新:
- Windows:(根据其不区分大小写的性质)可以 运行 perldoc [-m] lwp::simple 并且会发现LWP::简单
- Linux/Unix: perldoc 有一个 -i 参数用于 i 不敏感搜索. (参见 perldoc -h
运行 perldoc -i [-m] lwp::simple 将找到 LWP::Simple

(-m 参数显示模块代码和纯文本 POD 文档 - 可以保留它,因为它不是那么漂亮)

按照确切的语法,您指的是模块的名称吗?您为什么要查找您不知道其名称的模块的文档?

如果你想查找一些本地安装的模块名称,cpan(1) 会给你列表:

 % cpan -l

从那里,你可以搜索你喜欢的名字(正如你提到的):

 % cpan -l | grep -i lwp

这遵循了重用已经做得很好的工具的基本 unix 思想。 cpan 给你列表,grep 搜索它。

在该列表中将是 LWP。由于模块名称区分大小写,因此您必须使用正确的大小写(尽管某些 case-insensitive 文件系统会为您伪装):

 % perldoc LWP

大多数情况下,我得到了我想要阅读的模块的名称,因为它在源代码中有注明,或者我正在使用该类型的 object。我从中取名:

print "The object is of type: ", ref $obj;

除此之外,还有当前的工作(本周在 Perl 会议上讨论)索引各种类型的数据并让您搜索它们。