我正在尝试编写一个简单的Perl CGI脚本:
以下是.out文件中的一些示例数据:
10.255.202.1 2472327594 1720341
10.255.202.21 2161941840 1484352
10.255.200.0 1642646268 1163742
10.255.200.96 1489876452 1023546
10.255.200.26 1289738466 927513
10.255.202.18 1028316222 706959
10.255.200.36 955477836 703926
非常感谢任何帮助。
答案 0 :(得分:1)
以下是未经测试的,可能需要大量抛光 但它给出了一个粗略的想法:
use CGI qw/:standard *table/;
print
start_html('clicommand results'),
start_table;
open(my $csvh, 'clicommand |');
while (<$csvh>) {
print Tr(map { td($_) } split);
}
close($csvh);
print
end_table,
end_html;
答案 1 :(得分:0)
这不能直接回答你的问题,但可以使用AWK吗?包装整个内容应该不会太难,然后每个列条目都带有相应的html标签来创建基本表。
答案 2 :(得分:0)
您很可能希望通过使用CSS样式表或向表格添加边框来使HTML更漂亮,但这是一个简单的开始。
#!/usr/bin/perl
use strict;
use warnings;
my $output = `cat dat`;
my @lines = split /\n/, $output;
my @data;
foreach my $line (@lines) {
chomp $line;
my @d = split /\s+/, $line;
push @data, \@d;
}
print <<HEADER;
<html>
<table>
HEADER
foreach my $d (@data) {
print "\t", "<tr>";
print map { "<td>$_</td>" } @$d;
print "</tr>", "\n";
}
print <<FOOTER;
</table>
</html>
FOOTER
这会产生以下输出:
<html>
<table>
<tr><td>10.255.202.1</td><td>2472327594</td><td>1720341</td></tr>
<tr><td>10.255.202.21</td><td>2161941840</td><td>1484352</td></tr>
<tr><td>10.255.200.0</td><td>1642646268</td><td>1163742</td></tr>
<tr><td>10.255.200.96</td><td>1489876452</td><td>1023546</td></tr>
<tr><td>10.255.200.26</td><td>1289738466</td><td>927513</td></tr>
<tr><td>10.255.202.18</td><td>1028316222</td><td>706959</td></tr>
<tr><td>10.255.200.36</td><td>955477836</td><td>703926</td></tr>
</table>
</html>
要了解如何修改HTML表格的外观,w3schools website entry on the table tag是一个好的开始。