我正在尝试打开两个Excel .xls文件进行比较。我包括
use Spreadsheet::ParseExcel;
然后,我继续我的代码如下:
my $parser_r = Spreadsheet::ParseExcel->new();
my $resultbook = $parser_r->parse($absPathResult);
my $parser_i = Spreadsheet::ParseExcel->new();
my $resultideal = $parser_i->parse($absPathIdeal);
@worksheetsListResult = $resultbook->worksheets();
@worksheetsListIdeal = $resultideal->worksheets();
我遇到的第一个错误是"找不到对象方法"解析器" ...",但这是通过改变"解析器&#34来解决的;到" Parser"。
当我再次执行脚本时,我收到错误:无法找到对象方法"工作表"通过包"电子表格:: ParseExcel ::工作簿"。
我在Linux中运行脚本,Perl v5.8.5。
知道这里可能出现的问题是什么?我是Perl语言的新手。所有评论都非常感谢。
PS:当我在Windows中运行类似的代码时,一切都运行良好。
答案 0 :(得分:4)
The workbooks() method was added in 0.43。由于您的Perl版本相当陈旧(11年),因此您的Spreadsheet :: ParseExcel版本可能也相当陈旧。
您可以查看:
perl -MSpreadsheet::ParseExcel -wle 'print $Spreadsheet::ParseExcel::VERSION'
一般情况下,除非您保持最新,否则请不要使用Perl模块的Web文档。它可能不适用于您安装的版本。而是使用perldoc
。