Perl - 嵌入式文档



您可以在 Perl 模块和脚本中嵌入 Pod(Plain Old Text)文档。以下是您在 Perl 代码中使用嵌入式文档的规则:

以空行开头,以 =head1 命令开头,并以 =cut 结束您的文档。

Perl 会忽略您在代码中输入的 Pod 文本。以下是使用 Perl 代码中嵌入式文档的简单示例:

#!/usr/bin/perl

print "Hello, World\n";

=head1 Hello, World Example
This example demonstrate very basic syntax of Perl.
=cut

print "Hello, Universe\n";

当执行上述代码时,它会产生以下结果:

Hello, World
Hello, Universe

如果您要将 Pod 放置在文件的末尾,并且您正在使用 __END__ 或 __DATA__ 切割标记,请确保在第一个 Pod 命令之前放置一个空行,否则如果没有在 =head1 之前放置空行,许多翻译器将无法识别 =head1 作为 Pod 块的开始。

#!/usr/bin/perl

print "Hello, World\n";

while(<DATA>) {
  print $_;
}

__END__

=head1 Hello, World Example
This example demonstrate very basic syntax of Perl.
print "Hello, Universe\n";

当执行上述代码时,它会产生以下结果:

Hello, World

=head1 Hello, World Example
This example demonstrate very basic syntax of Perl.
print "Hello, Universe\n";

让我们再举一个不读取 DATA 部分的相同代码的示例:

#!/usr/bin/perl

print "Hello, World\n";

__END__

=head1 Hello, World Example
This example demonstrate very basic syntax of Perl.
print "Hello, Universe\n";

当执行上述代码时,它会产生以下结果:

Hello, World

什么是 POD?

Pod 是一种易于使用的标记语言,用于编写 Perl、Perl 程序和 Perl 模块的文档。有多种可用的翻译器可以将 Pod 转换为各种格式,例如纯文本、HTML、手册页等。Pod 标记由三种基本类型的段落组成:

  • 普通段落 - 您可以在普通段落中使用格式化代码,用于粗体、斜体、代码样式、超链接等。

  • 逐字段落 - 逐字段落通常用于呈现代码块或其他不需要任何特殊解析或格式化的文本,并且不应换行。

  • 命令段落 - 命令段落用于对整块文本进行特殊处理,通常作为标题或列表的一部分。所有命令段落都以 = 开头,后跟一个标识符,然后是命令可以随意使用的任意文本。当前识别的命令为:

=pod
=head1 Heading Text
=head2 Heading Text
=head3 Heading Text
=head4 Heading Text
=over indentlevel
=item stuff
=back
=begin format
=end format
=for format text...
=encoding type
=cut

POD 示例

考虑以下 POD:

=head1 SYNOPSIS
Copyright 2005 [TUTORIALSOPOINT].
=cut

您可以使用 Linux 上可用的 pod2html 实用程序将上述 POD 转换为 HTML,因此它将产生以下结果:

版权所有 2005 [TUTORIALSOPOINT]。

接下来,考虑以下示例:

=head2 An Example List

=over 4
=item * This is a bulleted list.
=item * Here's another item.
=back
=begin html
<p>
Here's some embedded HTML.  In this block I can
include images, apply <span style="color: green">
styles</span>, or do anything else I can do with
HTML.  pod parsers that aren't outputting HTML will
completely ignore it.
</p>

=end html

当您使用 pod2html 将上述 POD 转换为 HTML 时,它将产生以下结果:

An Example List
   This is a bulleted list.
   Here's another item.
Here's some embedded HTML. In this block I can include images, apply 
styles, or do anything else I can do with HTML. pod parsers that aren't 
outputting HTML will completely ignore it.
广告