html - 如何在 Perl 中创建一个带有超链接的简单 HTML 表?

标签 html perl hash hyperlink

我有一个像这样的“人”的 Perl 哈希:

my $data = {
    124535 => {
        NAME     => "abe",
        AGE      => 100,
        SEX      => "m",
        HOMEPAGE => qw (http://abe.knaan.old)
    },
    54478 => {
        NAME     => "joe",
        AGE      => 18,
        SEX      => "m",
        HOMEPAGE => qw (http://slappy.joe.com)
    },
    54478 => {
        NAME     => "jane",
        AGE      => 20,
        SEX      => "f",
        HOMEPAGE => qw (http://i.am.jane/jane.html)
    },
};

我想打印一个 HTML 页面,其中包含所有人的表格,每人一行,其所有数据包括哈希键(即 5 列),以及指向其主页的超链接。

我可以编写一长段丑陋的代码来打印所有 HTML header 等,但是有没有更好、更简洁的方法呢?我想,也许使用一些模块来完成这个非常受欢迎的任务?

我找到了HTML::QuickTable但我不确定如何将我的结构转换为合适的结构。

最佳答案

这应该可以做到:

my @names = qw(NAME AGE SEX HOMEPAGE);
my @data  = [@names, 'KEY'];

for my $k (keys %$data) {
    my @t = @{$data->{$k}}{@names};
    $t[-1] = qq{<a href="$t[-1]">$t[-1]</a>};        
    push @data, [@t, $k]
}        

use HTML::QuickTable;
my $qt = HTML::QuickTable->new(... labels => 1); 
print $qt->render(\@data); 

关于html - 如何在 Perl 中创建一个带有超链接的简单 HTML 表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3758607/

相关文章:

c# - 在 .Net 运行时为测试用例散列 float

html - 无法使图像内联

html - primefaces:如何在 <p:layoutUnit> 中禁用 css

php - HTML 提交按钮,发布数据的不同值

html - 当我有一个向左浮动的导航栏和一个向右浮动的导航栏时,如何使嵌入式 youtube 视频随页面缩小

perl - Perl 中的反斜杠单引号

mysql - 在 Rails 中拥有持久内存哈希的最佳方法?

Perl:Net::OpenSSH 的 scp_put 拒绝权限

perl - 如何使用 Perl 从文本文件中检索第 N 行?

asp.net - 一种在 ASP.NET 中生成图像签名或哈希值以进行重复检测的方法?