Perl - 嵌入式文档

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

在开头用空行a = head1 命令启动文档,然后结束它带有a = 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 part :

#!/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.