如何在Pod的L<>中将链接文本与URL相关联?

时间:2009-08-22 17:31:36

标签: perl perl-pod

L<name>格式代码允许您在链接到其他POD时设置链接的显示文字,如L<Display Text|link_dest>中所示,但L<scheme:...>不允许这样做链接,例如

L<http://perldoc.perl.org/strict.html>

如何为此类链接指定显示文字?或者,如何在不使用pod2html

的HTML权限的尖括号的情况下手动编写此类链接

4 个答案:

答案 0 :(得分:4)

正确的格式是:

L<strict|http://perldoc.perl.org/strict.html>

另见http://justatheory.com/computers/programming/perl/sane-pod-links.html

答案 1 :(得分:1)

http://perldoc.perl.org/perlpod.html#Formatting-Codes

L<<a href="http://www.perl.org/">http://www.perl.org/</a>>

正如你所指出的,看起来这应该有效,但也许我误解了你的问题?

编辑: 似乎pod2html不喜欢这种方法 我找到了一个稍微复杂的解决方案,

https://web.archive.org/web/1/http://blogs.techrepublic%2ecom%2ecom/howdoi/?p=114


#!/usr/bin/perl                                                                                                              
use strict;
use warnings;
use Pod::2::html;


my $pod_file =  $ARGV[0];
my $template =  $ARGV[1];

# Create pod2html object                                                                                                    
my $pod = Pod::2::html->new($pod_file);

# The path to the HTML template                                                                                             
$pod->template($template);

# The formatted HTML will go to STDOUT                                                                                      
$pod->readpod();

我测试了这个并且它似乎没有插入通用html的问题,所以你实际上并不需要L&lt;&gt;标签。 这对我来说似乎是一个不错的解决方案。

答案 2 :(得分:1)

如果你想用你的Pod做一些奇特的事情,那么编写一个Pod翻译器真的很容易。大部分工作已经在Pod :: Simple中完成,因此您只需处理L<>的案例。 Mastering Perl中有一章关于它。

答案 3 :(得分:1)

你太近了!您在两个尖括号和URL之间缺少必需的空格。试试这个:

I think L<< http://example.com >> is the best site on the web!

根据perldoc perlpod(从here向下滚动查找),额外的空格是强制性的:

  

“更可读,也许更”简单“的方法是使用一组备用的分隔符,不需要转义单个”&gt;“。使用标准的Pod格式化程序perl5.5.660,当且仅当在开始分隔符后面有空格并且在结束分隔符之前有空格时,可以使用加倍的尖括号(“&lt;&lt;”和“&gt;&gt;”)!例如,以下会做的伎俩:“

       C<< $a <=> $b >>