3
Can't locate Spreadsheet/ParseExcel.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .)

虽然它已安装:

% perl -e'use CPAN; install "Spreadsheet:WriteExcel"'

Going to read '/home/aspect_mkn8rd/.cpan/Metadata'
  Database was generated on Sun, 27 Apr 2014 09:41:02 GMT
Spreadsheet::WriteExcel is up to date (2.40).

那是它所在的地方,是吗?

% ls -la /usr/local/lib/perl/5.14.2/auto/Spreadsheet/WriteExcel

total 12
drwxrwxr-x 2 root root 4096 апр.  28 13:11 .
drwxrwxr-x 3 root root 4096 апр.  28 13:11 ..
-rw-rw-r-- 1 root root 2519 апр.  28 13:11 .packlist


% cat /usr/local/lib/perl/5.14.2/auto/Spreadsheet/WriteExcel/.packlist 

/usr/local/bin/chartex
/usr/local/man/man1/chartex.1p
/usr/local/man/man3/Spreadsheet::WriteExcel.3pm
/usr/local/man/man3/Spreadsheet::WriteExcel::BIFFwriter.3pm
<..>
/usr/local/man/man3/Spreadsheet::WriteExcel::Workbook.3pm
/usr/local/man/man3/Spreadsheet::WriteExcel::Worksheet.3pm
/usr/local/share/perl/5.14.2/Spreadsheet/WriteExcel.pm
/usr/local/share/perl/5.14.2/Spreadsheet/WriteExcel/BIFFwriter.pm
/usr/local/share/perl/5.14.2/Spreadsheet/WriteExcel/Big.pm
<..>
/usr/local/share/perl/5.14.2/Spreadsheet/WriteExcel/Workbook.pm
/usr/local/share/perl/5.14.2/Spreadsheet/WriteExcel/Worksheet.pm

% perldoc -l Spreadsheet::WriteExcel   

/usr/local/share/perl/5.14.2/Spreadsheet/WriteExcel.pm

所以为什么?我该怎么办?

4

2 回答 2

10

Spreadsheet::ParseExcel并且Spreadsheet::WriteExcel是不同的模块。

你也安装了前者吗?

如果没有,只需执行以下操作:

perl -e'use CPAN; install "Spreadsheet::ParseExcel"'
于 2014-04-28T07:58:42.033 回答
-1

有两种方法可以做到这一点:

  1. 使用lib '/path/to/directory'存储模块的位置

  2. perl -I /path/to/directory test.pl使用命令行选项 -I 包含模块的位置

有关更多信息,请参阅 https://perlmaven.com/how-to-change-inc-to-find-perl-modules-in-non-standard-locations

,给你,快乐的编码

于 2018-10-31T11:46:57.650 回答