perl 的 pod2usage(-verbose => 2) 显示源代码而不是格式化文档

标签 perl perldoc

根据documentation of Pod::Usage , 与 pod2usage(-verbose => 2) “打印了整个联机帮助页”。但是,在某些情况下,会显示脚本的 perl 源代码而不是格式正确的联机帮助页。

下面是一个例子:

use Pod::Usage qw(pod2usage);
pod2usage(-verbose => 2);

__END__

=head1 NAME

Minimal example

=head1 SYNOPSIS

This is the synopsys section.

=cut

运行脚本:
$ perl test.perl            
You need to install the perl-doc package to use this program.
use Pod::Usage qw(pod2usage);
pod2usage(-verbose => 2);

__END__

=head1 NAME

Minimal example

=head1 SYNOPSIS

This is the synopsys section.

=cut

最佳答案

问题是pod2usage使用命令行程序 perldoc .如果未安装此程序,则不会进行格式化,您将在输出中获得完整的源代码。

请注意,在问题中,文本“You need to install the perl-doc package to use this program.”出现在输出中,以提示您正在发生的事情(但是当帮助文本很长并通过管道传送到寻呼机时,该行并不总是可见)。

解决方案:安装 perldoc(例如 apt install perl-doc 在 Ubuntu 上)。在这之后:

$ perl test.perl 
NAME
    Minimal example

SYNOPSIS
    This is the synopsys section.

关于perl 的 pod2usage(-verbose => 2) 显示源代码而不是格式化文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49899633/

相关文章:

perldoc 不显示已安装 perl 模块的文档

mysql - Perl DBI MySQL 更新

linux - 监视多个目录以创建文件;如果它们不存在,请发送电子邮件

perl - 如何在催化剂应用程序上获取 Google OAuth?

perl - 文档中的哪个地方说 while 测试 readdir 的定义?

perl - 如何在 Pod 和 perldoc 中使用 Unicode 字符?

perl - 在 perldoc 中使撇号正确呈现

Perl 读取文件错误

Perl DATA 文件句柄在读取时为空

perl - 如何使用 perldoc 查找 %ENV 变量?