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

时间:2018-04-18 12:23:14

标签: perl perldoc

根据documentation of Pod::Usagepod2usage(-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

1 个答案:

答案 0 :(得分:6)

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

请注意,在问题中,文字" You need to install the perl-doc package to use this program."出现在输出中以显示正在进行的操作(但当帮助文本很长并通过管道传送到寻呼机时,此行并不总是可见的。)

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

$ perl test.perl 
NAME
    Minimal example

SYNOPSIS
    This is the synopsys section.