免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: huanghaojie
打印 上一主题 下一主题

用perl 写cgi 生成一个web log. [复制链接]

论坛徽章:
0
11 [报告]
发表于 2008-12-24 12:19 |只看该作者
还是搞不定呀, 用perl到底怎么样才能把表格做出来

论坛徽章:
3
戌狗
日期:2014-09-10 17:07:162015年辞旧岁徽章
日期:2015-03-03 16:54:15wusuopu
日期:2016-06-17 17:43:45
12 [报告]
发表于 2008-12-24 12:24 |只看该作者
原帖由 huanghaojie 于 2008-12-24 12:19 发表
还是搞不定呀, 用perl到底怎么样才能把表格做出来
  1. print "<table style>\n";
复制代码

看看html 的表格怎么设置

如何创建HTML表格
http://www.blabla.cn/html_tutorials/025_html_tables.html

论坛徽章:
0
13 [报告]
发表于 2008-12-24 12:29 |只看该作者
20分!

用 HTML::Template 很方便的

lz 给我几分吧

论坛徽章:
0
14 [报告]
发表于 2008-12-24 12:35 |只看该作者
原帖由 cobrawgl 于 2008-12-24 12:29 发表
20分!

用 HTML::Template 很方便的

lz 给我几分吧

没问题,你帮我搞定,我再送你20分。

论坛徽章:
0
15 [报告]
发表于 2008-12-24 13:14 |只看该作者
#!/usr/bin/perl

#
# log.pl
#

use strict;
use warnings;

use HTML::Template;

my $template = HTML::Template->new(filename => 'log.tmpl');

my @log;
while (<DATA>) {
        my %t;
        @t{qw/date computer platform command result/} = (split);       
        push @log, \%t
}
$template->param(log => \@log);

print $template->output;

__DATA__
2008-12-20:18:20   dtx100  sles10.2-64bit  collectinv  successful
2008-12-20:18:20   dtx100  sles10.2-64bit  collectinv  successful
2008-12-20:18:20   dtx100  sles10.2-64bit  collectinv  successful
2008-12-20:18:20   dtx100  sles10.2-64bit  collectinv  successful
2008-12-20:18:20   dtx100  sles10.2-64bit  collectinv  successful
2008-12-20:18:20   dtx100  sles10.2-64bit  collectinv  successful
2008-12-20:18:20   dtx100  sles10.2-64bit  collectinv  successful

------------------------------------------------------------------------------------
#
#log.tmpl
#

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE> Log </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
</HEAD>

<BODY>
  <table>
  <tr><th>日期</th><th>计算机名</th><th>系统平台</th><th>运行命令</th><th>运行结果</th><tr>
  <tmpl_loop name="log">
        <tr>
                <td><tmpl_var name=date></td><td><tmpl_var name=computer></td><td><tmpl_var name=platform></td><td><tmpl_var name=command></td><td><tmpl_var name=result></td>
        </tr>
  </tmpl_loop>
  </table>
</BODY>
</HTML>



不知道能不能满足你的要求 :)

[ 本帖最后由 cobrawgl 于 2008-12-24 13:16 编辑 ]

论坛徽章:
0
16 [报告]
发表于 2008-12-24 13:15 |只看该作者
#!/usr/bin/perl
use HTML::Template;

my $r = [
    { a => 1, b => 2, c => 3,},
    { a => 2, b => 4, c => 6,}
];

my $tmpl = new HTML::Template(filehandle => *DATA);
$tmpl->param(r => $r);
print $tmpl->output();

__DATA__
<table border=1>
<tr>
<td>A Value</td><td>B Value</td><td>C Value</td>
</tr>
<TMPL_LOOP r>
<tr>
    <td><TMPL_VAR a></td><td><TMPL_VAR b></td><td><TMPL_VAR c></td>
</tr>
</TMPL_LOOP>
</table>
~

HTML::Template刚安装好
为什么在web里运行什么都没有。这是怎么回事

论坛徽章:
0
17 [报告]
发表于 2008-12-24 13:33 |只看该作者
原帖由 cobrawgl 于 2008-12-24 13:14 发表
#!/usr/bin/perl

#
# log.pl
#

use strict;
use warnings;

use HTML::Template;

my $template = HTML::Template->new(filename => 'log.tmpl');

my @log;
while () {
        my %t;
        @t{qw/date ...

[root@dtx162 cgi-bin]# ./test4.pl
HTML::Template->new() : Cannot open included file log.tmpl : file not found. at /usr/lib/perl5/site_perl/5.8.8/HTML/Template.pm line 1658
        HTML::Template::_init_template('HTML::Template=HASH(0x848509c)') called at /usr/lib/perl5/site_perl/5.8.8/HTML/Template.pm line 1238
        HTML::Template::_init('HTML::Template=HASH(0x848509c)') called at /usr/lib/perl5/site_perl/5.8.8/HTML/Template.pm line 1124
        HTML::Template::new('HTML::Template', 'filename', 'log.tmpl') called at ./test4.pl line 13

论坛徽章:
0
18 [报告]
发表于 2008-12-24 13:39 |只看该作者


你把 log.tmpl 和 test4.pl 放在一起么?

论坛徽章:
0
19 [报告]
发表于 2008-12-24 13:44 |只看该作者
原帖由 cobrawgl 于 2008-12-24 13:39 发表


你把 log.tmpl 和 test4.pl 放在一起么?

我就把你的code放到cgi-bin/test4.pl下 然后 777 test4.pl 然后就运行了
oh. sorry  just  改------------------------下的内容保存到别一个文件中,文件名为log.tmpl
我运行./perl4.pl  

#
#log.tmpl
#

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
  <TITLE> Log </TITLE>
  <META NAME="Generator" CONTENT="EditPlus">
  <META NAME="Author" CONTENT="">
  <META NAME="Keywords" CONTENT="">
  <META NAME="Description" CONTENT="">
</HEAD>

******

但是我用web打开/cgi-bin/perl4.pl 是空白呀

[ 本帖最后由 huanghaojie 于 2008-12-24 13:53 编辑 ]

论坛徽章:
0
20 [报告]
发表于 2008-12-24 13:57 |只看该作者
cobrawgl   帅哥
大天使

请给个答复呀,谢谢了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP