我不是 Perl 的专家,想知道为什么第一种获取 numSheets 的方法是可以的,而下面的方法不是:
use Spreadsheet::Read;
my $spreadsheet = ReadData("blah.xls");
my $n1 = $spreadsheet->[1]{sheets}; # okay
my %sh = %spreadsheet->[1]; # bad
my $n2 = $sh{label};
最后一行的下一行给出了错误
Global symbol "%spreadsheet" requires explicit package name at newexcel_display.pl line xxx
我很确定我有正确的印记;如果我进行实验,我只能得到不同的错误。我知道电子表格是对数组的引用,而不是直接数组。我不知道元数据或单个工作表的哈希值,但是尝试不同的假设无济于事(至少以我适度的 perl 技能。)
我对Spreadsheet::Read 工作的参考是http://search.cpan.org/perldoc?Spreadsheet::Read 如果网上某处有很好的例子说明如何正确使用Spreadsheet,我想知道它们在哪里。