我有这个POD文件:
=head1 Create professional slideshows with Mojolicious::Plugin::RevealJS
=head2 Install and run a Mojolicious server
Santa's elf had a problem. He had to write very fast a presentation and show it to a bunch of new elf's.
The email assigning this to him was sent by Santa himself.
The elf started to look on Metacpan and found this module: L<Mojolicious::Plugin::RevealJS|https://metacpan.org/pod/Mojolicious::Plugin::RevealJS>
He quickly typed the following commands:
C<cpanm Mojolicius Mojolicious::Plugin::RevealJS>
Now he could generate an mojo lite app using:
C<mojo generate lite-app slide_show>
Because the elf was trained in the ancient arts of the elders
he cloud open new file with vim and paste this code in:
=begin perl
use Mojolicious::Lite -signatures;
app->static->paths(['.']);
plugin 'RevealJS';
any '/' => { template => 'presentation', layout => 'revealjs' };
app->start;
=end perl
当我运行perldoc t.pod
时,看不到'=开始perl'和'=end perl'之间的代码。我不知道我做错了什么。
2条答案
按热度按时间i34xakig1#
perlpod的文件上说...
For、开始和end将使您具有通常不解释为正常Pod文本的文本/代码/数据区域,而是直接传递给特定格式化程序,或者是特殊的。可以使用该格式的格式化程序将使用该区域,否则将完全忽略该区域。
这里的 formatter 是
perldoc
用来将POD呈现为文本的东西。我怀疑它不知道如何处理perl
,所以忽略了它。生成HTML的格式化程序可能知道如何处理
perl
,并可能将其替换为具有语法突出显示的代码块。如果你希望你的代码示例在POD中总是以代码的形式出现,可以使用逐字段落来代替。这可以通过在前面添加缩进来实现。
pgvzfuti2#
在x1e0 f1 a中,
=begin <format>
/=end <format>
的描述是这样开始的:=开始格式名称
=结束格式名称
=用于格式名称文本...
For、开始和end将使您具有通常不解释为正常Pod文本的文本/代码/数据区域,而是直接传递给特定格式化程序,或者是特殊的。可以使用该格式的格式化程序将使用该区域,否则将完全忽略该区域。
=begin perl
和=end perl
之间的任何内容都将被标准Pod格式化程序忽略,并且只会由专门的“perl”格式化程序处理(标准Perl工具集中不存在这样的格式化程序--您需要编写自己的格式化程序)。你没有说你期望这种语法达到什么效果,但看起来你很可能在寻找一个逐字逐句的段落。
逐字段落
逐字段落通常用于表示不需要任何特殊解析或格式化,并且不应换行的代码块或其他文本。
逐字段落的区别在于其第一个字符是空格或制表符。(通常,它的所有行都以空格和/或制表符开始。)它应该精确地复制,制表符假定位于8列边界上。没有特殊的格式代码,因此您不能使用斜体或类似的格式代码。\表示\,除此之外别无他法。