【问题标题】:Inserting two arrays into columns of a html table perl将两个数组插入到 html 表 perl 的列中
【发布时间】:2013-07-27 03:51:34
【问题描述】:

我有两个具有相关数据的数组。我需要将它们插入到 html 表中。我正在使用通过搜索论坛找到的模块从不同的程序访问这些数组。

package My::Module;
use strict;
use warnings;
use File::Slurp;
use Data::Dumper;
use Exporter;

our @ISA = 'Exporter';
our @EXPORT = qw(\@owners \@values);
our(@owners, @values);
$Data::Dumper::Indent = 1;

my @fileDatas = read_file("/x/home/venganesan/output.txt");

它位于文件夹 My 下,名为 Module.pm。将包含该表的其他文件的部分是

use strict;
use warnings;
use CGI;
use My::Module;
my $q = new CGI;

print $q->header;
print $q->start_html(-title=>"Table testing", -style =>{'src'=> '/x/home/venganesan/style.css'});

print $q->h1("Modified WOWO diff");
print $q->table(        {-border=>1, cellpadding=>3},
        $q->Tr($q->th(['WOWODiff', 'Owner', 'Signoff'])),
        foreach $own(@owners){
        $q->Tr(
        $q->td([$own,'Two', 'Three'])},
        $q->td(['four', 'Five', 'Six']),

        ),

我只是想打印一个数组来看看它是如何工作的,然后再包含另一个。当我使用 Module.pm 时,我得到的输出是没有 html 的命令行上的两个数组。如果我删除它,我会得到 html 代码。我正在学习 perl 和新模块。我愿意接受批评和更好的代码实现方式。

【问题讨论】:

  • 您不应该在 qw(...) 表达式中转义 @
  • @mob 我改了。并且输出仍然是相同的。

标签: html perl module html-table data-dumper


【解决方案1】:

现在是 2013 年。现在应该没有人使用 CGI.pm 生成 HTML。无论如何,使用 CGI.pm 来生成标头和解析 CGI 请求,但请考虑为您的 HTML 使用模板工具包之类的东西。

我不清楚你的问题是什么。你是说如果你使用 My::Module 会出错(顺便说一句,这是一个糟糕的名字)?在这种情况下,您应该看到写入 Web 服务器的错误日志的内容并解决那里给出的问题。

【讨论】:

  • 我刚刚搜索了在 perl 中使用 html 并找到了一个示例。我只是尝试根据我的需要对其进行修改。整个结构来自那个例子。我将使用 HTML::Template,感谢您的建议。我的问题:我有两个数组需要在 html 表中显示为列。当前场景只是在删除 My::Module 时在控制台上打印两个数组,程序中的 html 标签被打印出来。
  • 我尝试使用 sitepoint.com/introducing-html-template 。使用 html 模板要容易得多。谢谢你的帮助。
  • 嗯?您发现 HTML::Template 比 HTML::Template 更易于使用?您是否查看过模板工具包 - tt2.org
  • 我没有使用 cgi,而是使用了 Html 模板。它完成了这项工作。我没有看模板工具包,我以为你指的是 Html 模板。我看到了链接,看起来很棒。我将在我未来的项目中使用它。
猜你喜欢
  • 2011-10-10
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-21
  • 1970-01-01
  • 2012-09-13
  • 2020-01-30
相关资源
最近更新 更多