首页 文章

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

提问于
浏览
2

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

我遇到的第一个错误是“无法找到对象方法”解析器“...”,但这是通过将“解析器”更改为“解析器”来解决的 .

当我再次执行脚本时,我收到错误:无法通过包“Spreadsheet :: ParseExcel :: Workbook”找到对象方法“工作表” .

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

知道这里可能出现的问题是什么?我是Perl语言的新手 . 所有评论都非常感谢 .

PS:当我在Windows中运行类似的代码时,一切都运行良好 .

1 回答

  • 4

    The workbooks() method was added in 0.43,六年前 . 由于您的Perl版本相当陈旧(11年),因此您的Spreadsheet :: ParseExcel版本可能也相当陈旧 .

    您可以查看:

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

    一般来说,不要及时了解最新情况 . 它可能不适用于您安装的版本 . 而是使用perldoc .

相关问题