@data实际上包含什么PDF :: Report :: Table $ table_write-> addTable(@data);?

时间:2013-08-10 15:51:06

标签: perl pdf-generation report cpan

我想我已经掌握了使用Perl的PDF::ReportPDF::Report::Table创建表格的要点,但我很难看到二维数组@data的样子。

文档说它是一个二维数组,但是CPAN上的示例只显示了一个数组test1,test2等数组,而不是像$padding那样显示数据和格式的示例$bgcolor_odd,等等。

这是我到目前为止所做的:

$main_rpt_path = "/home/ics/work/rpts/interim/mtr_prebill.rpt";

$main_rpt_pdf = 
  new PDF::Report('PageSize' => 'letter', 'PageOrientation' => 'Landscape',);

$main_rpt_tbl_wrt = 
  PDF::Report::Table->new($main_rpt_pdf);

显然,我无法传递一维数组,但我搜索了一些示例,只能在CPAN搜索中找到它。

编辑:

以下是我试图致电addTable的方式:

$main_rpt_tbl_wrt->addTable(build_table_writer_array($pt_column_headers_ref, undef));
.
.
.

sub build_table_writer_array
# $data -- an array ref of data
# $format -- an array ref of formatting
#
# returns an array ref of a 2d array.
#

{
    my ($data, $format) = @_;

    my $out_data_table = undef;

    my @format_array = (10, 10, 0xFFFFFF, 0xFFFFCC);

    $out_data_table = [[@$data],];

    return $out_data_table;
}

这是我得到的错误。

Use of uninitialized value in subtraction (-) at /usr/local/share/perl5/PDF/Report/Table.pm line 88.
 at /usr/local/share/perl5/PDF/Report/Table.pm line 88

我无法弄清楚addTable想要的数据。那就是我想知道格式应该去哪里。

编辑:

看起来addData调用应该看起来像

$main_rpt_tbl_wrt->addTable(build_table_writer_array($pt_column_headers_ref), 10,10,xFFFFFF, 0xFFFFCC);

不是我指出的方式。

1 个答案:

答案 0 :(得分:2)

这看起来像模块中的错误。我尝试在SYNOPSIS中运行示例代码,我得到了同样的错误。该模块没有真正的测试,所以毫无疑问会有bug。你可以report it on CPAN

POD也有错误。

如果您查看源代码并使用补丁自行修复,则可以增加修复它的机会。