我有一个像这样的“人”的 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/