perldoc - 在 Pod 格式中查找 Perl 文档。
perldoc [-h] [-D] [-t] [-u] [-m] [-l] [-U] [-F]
[-i] [-V] [-T] [-r]
[-d destination_file]
[-o formatname]
[-M FormatterClassName]
[-w formatteroption:value]
[-n nroff-replacement]
[-X]
[-L language_code]
PageName|ModuleName|ProgramName|URL
示例
perldoc -f BuiltinFunction
perldoc -L it -f BuiltinFunction
perldoc -q FAQ Keyword
perldoc -L fr -q FAQ Keyword
perldoc -v PerlVariable
perldoc -a PerlAPI
有关开关的更多描述,请参见下文。
perldoc 查找嵌入在 perl 安装树或 perl 脚本中的 .pod 格式的文档,并使用各种格式化程序显示它。这主要用于 perl 库模块的文档。
您的系统也可能为这些模块安装了手册页,在这种情况下,您可能只需使用 man(1) 命令。
如果您正在寻找 Perl 库模块文档的目录,请参见 perltoc 页面。
打印简短的help 信息。
Describes search for the item in detail.
使用纯text 转换器显示文档,而不是 nroff。这可能更快,但可能看起来不太好。
跳过真正的 Pod 格式,只显示原始 Pod 源代码 (Unformatted)
显示整个模块:代码和未格式化的 pod 文档。如果文档没有详细解释您需要的函数,并且您想直接检查代码,这可能很有用;perldoc 会为您找到文件,并将其直接传递以供显示。
仅显示找到的模块的l文件名。
以超级用户身份运行时,不要尝试降低安全权限。此选项在使用-F时隐含。
注意:有关更多信息,请参阅下面的 SECURITY 标题。
将参数视为文件名;不会在目录中执行搜索。如果以超级用户身份运行,则隐含-U。
-f 选项后跟 perl 内置函数的名称将从 perlfunc 中提取此函数的文档。
示例
perldoc -f sprintf
-q 选项接受正则表达式作为参数。它将搜索 perlfaq[1-9] 中的question 标题,并打印与正则表达式匹配的条目。
示例
perldoc -q shuffle
-a 选项后跟 perl api 函数的名称将从 perlapi 中提取此函数的文档。
示例
perldoc -a newHV
-v 选项后跟 Perl 预定义变量的名称将从 perlvar 中提取此变量的文档。
示例
perldoc -v '$"'
perldoc -v @+
perldoc -v DATA
这指定输出不发送到寻呼机,而是直接发送到 STDOUT。
这指定输出既不发送到寻呼机也不发送到 STDOUT,而是保存到指定的文件名。例如:perldoc -oLaTeX -dtextwrapdocs.tex Text::Wrap
这指定您希望 Perldoc 尝试使用 Pod 格式化类来处理您指定的输出格式。例如:-oman
。这实际上只是 -M
开关的包装器;使用 -oformatname
只是通过将该格式名称(使用不同的大小写)添加到不同的类名前缀来查找可加载的类。
例如,-oLaTeX
当前尝试以下所有类:Pod::Perldoc::ToLaTeX Pod::Perldoc::Tolatex Pod::Perldoc::ToLatex Pod::Perldoc::ToLATEX Pod::Simple::LaTeX Pod::Simple::latex Pod::Simple::Latex Pod::Simple::LATEX Pod::LaTeX Pod::latex Pod::Latex Pod::LATEX。
这指定您希望尝试用于格式化 pod 的模块。该类至少必须提供一个 parse_from_file
方法。例如:perldoc -MPod::Perldoc::ToChecker
。
您可以通过逗号或分号将多个类连接起来来指定多个要尝试的类,例如 -MTk::SuperPod;Tk::Pod
。
这指定一个选项来调用格式化程序 with。例如,-w textsize:15
将在格式化程序对象用于格式化对象之前,在格式化程序对象上调用 $formatter->textsize(15)
。为了使这有效,格式化程序类必须提供这样的方法,并且您传递的值应该是有效的。(因此,如果 textsize
需要一个整数,而您执行 -w textsize:big
,则可能会出现问题。)
您可以使用 -w optionname
(不带值)作为 -w optionname:TRUE
的简写。这可能在 on/off 功能的情况下有用,例如:-w page_numbering
。
您可以使用“=”代替“:”,例如:-w textsize=15
。这可能更(或更不)方便,具体取决于您使用的 shell。
如果存在,请使用索引。-X 选项在文件 $Config{archlib}/pod.idx
中查找其基本名称与命令行上给定的名称匹配的条目。pod.idx 文件应包含完全限定的文件名,每行一个。
此选项允许您指定所需语言翻译的语言代码。如果您的系统中没有安装POD2::<language_code>
包,则该选项会被忽略。所有可用的翻译包都位于POD2::
命名空间下。请查看POD2::IT(或POD2::FR)了解如何创建新的本地化POD2::*
文档包并将其集成到Pod::Perldoc中。
您要查找的项目。嵌套模块(例如File::Basename
)可以指定为File::Basename
或File/Basename
。您也可以提供页面的描述性名称,例如perlfunc
。对于URL,目前仅支持HTTP和HTTPS。
对于像'foo'这样的简单名称,如果正常搜索无法找到匹配的页面,则会尝试使用“perl”前缀进行搜索。因此,“perldoc intro”足以找到/渲染“perlintro.pod”。
指定groff的替换项。
递归搜索。
忽略大小写。
显示您正在运行的perldoc的版本。
由于perldoc无法正常运行受污染的代码,并且已知存在安全问题,因此以超级用户身份运行时,它将尝试通过将有效和真实ID设置为nobody或nouser帐户(如果不可用则为-2)来降低权限。如果它无法放弃其权限,它将不会运行。
如果您不希望出现此行为,请查看-U
选项,但注意,如果您选择使用-U
,则存在重大安全风险。
从3.26版本开始,以超级用户身份使用-F
也意味着-U
,因为打开大多数文件和遍历目录需要高于nobody/nogroup级别的权限。
PERLDOC
环境变量中的任何开关将在命令行参数之前使用。
PERLDOC
的一些有用值包括 -oterm
、-otext
、-ortf
、-oxml
等等,具体取决于您手头的模块;或者可以使用 -MPod::Perldoc::ToTerm
等方式精确指定格式化程序类。
perldoc
还会搜索由 PERL5LIB
(如果未定义 PERL5LIB
,则为 PERLLIB
)和 PATH
环境变量指定的目录。(后者是为了使可执行文件(如 perldoc
本身)的嵌入式 pod 可用。)
在存在 Makefile.PL
或 Build.PL
的目录中,perldoc
会将 .
和 lib
首先添加到其搜索路径中,并且只要您不是超级用户,也会添加 blib
。如果您在构建目录中工作并希望阅读文档,即使您之前安装了模块的版本,这也会非常有用。
perldoc
会按照优先级顺序使用 PERLDOC_PAGER
、MANPAGER
或 PAGER
中定义的分页器,然后再尝试自行查找分页器。(如果 perldoc
被告知显示纯文本或未格式化的 pod,则不会使用 MANPAGER
。)
在 perldoc
的 -m
模式(显示模块源代码)下,perldoc
会尝试使用 PERLDOC_SRC_PAGER
中设置的分页器。此命令的一个有用设置是您喜欢的编辑器,例如 /usr/bin/nano
。(别评判我。)
PERLDOC_PAGER
的一个有用值是 less -+C -E
。
将 PERLDOCDEBUG 设置为正整数将使 perldoc 发出比 -D
开关更具描述性的输出;数字越大,它发出的信息就越多。
在 3.14_05 之前,开关 -v 用于生成 perldoc 操作的详细消息,现在由 -D 启用。
当前维护者:Mark Allen <[email protected]>
过去的贡献者包括:brian d foy <[email protected]>
Adriano R. Ferreira <[email protected]>
,Sean M. Burke <[email protected]>
,Kenneth Albanowski <[email protected]>
,Andy Dougherty <[email protected]>
,以及许多其他人。