Perl 将数据从散列转储到电子表格

Perl dump data from a hash to a spreadsheet

我有一个包含键和值(数组)的散列。我想将它们转储到电子表格

%hash
   key1 -> foo bar 
   key2-> john adam gill
   key3-> apple banana mango orange

代码:

use strict;
use warnings;
use Excel::Writer::XLSX;

my $workbook = Excel::Writer::XLSX->new( 'c:\TEMP\filename.xlsx' ); 
my $worksheet = $workbook->add_worksheet();

my $row = 1;
my $col = 1;

foreach my $k (keys %hash)
{
    $worksheet->write($row, $col)->{Value} =  $k;                # title
    $worksheet->write($row, $col++,)->{Value} =  $hash{$k};     # value
    $row++;
}

当前输出
无法对未定义的值

调用方法 "add_worksheet" 期望输出

看来Excel::Writer::XLSX->new失败了。在调用new之后添加这段代码,看看哪里出了问题:

if (not defined $workbook)
{
    die "Failed to create spreadsheet: $!";
}