Perl'通过包“Spreadsheet :: ParseExcel :: Workbook”找不到对象方法“工作表”

我正在尝试打开两个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(); 

我遇到的第一个错误是“无法find对象方法”parsing器“…”,但通过将“parsing器”更改为“parsing器”解决了这个问题。

当我再次执行脚本时,出现错误:无法通过“Spreadsheet :: ParseExcel :: Workbook”包find对象方法“工作表”。

我正在Linux,Perl v5.8.5中运行脚本。

任何想法是什么在这里可能的问题? 我是Perl语言的新手。 所有的评论都非常感谢。

PS:当我在Windows中运行类似的代码时,一切正常。

六年前, workbooks()方法增加了0.43 。 由于你的Perl版本比较陈旧(11年),很可能你的Spreadsheet :: ParseExcel版本也很老旧。

你可以检查:

 perl -MSpreadsheet::ParseExcel -wle 'print $Spreadsheet::ParseExcel::VERSION' 

一般来说,不要使用Perl模块的Web文档,除非你保持最新。 这可能不会是你的安装版本。 而是使用perldoc