如何检查我的Perl中是否有Spreadsheet :: WriteExcel?
我跑了
perldoc -v Spreadsheet::WriteExcel
并获得以下输出,表明我的perl上没有Spreadsheet :: WriteExcel
/usr/local/bin/perldoc => Pod::Perldoc v3.13
Formatter class Pod::Perldoc::ToMan successfully loaded!
Will format with the class Pod::Perldoc::ToMan
Searching for Spreadsheet::WriteExcel
Looking for Spreadsheet/WriteExcel in /opt/SYSperl/bin /opt/SYSperl/lib/5.8.6/sun4-solaris /opt/SYSperl/lib/5.8.6 /opt/SYSperl/lib/site_perl/5.8.6/sun4-solaris /opt/SYSperl/lib/site_perl/5.8.6 /opt/SYSperl/lib/site_perl . /opt/pgti/ixp/bin /opt/pgti/ixp/bin /opt/pgti/ixp/bin /opt/CA/uajm/elp/autosys/bin /usr/openwin/bin /usr/bin /usr/ccs/bin /usr/local/bin /opt/RFMadmin/exe /opt/RFMadmin/bin . /apps/risk/bin
No documentation found for "Spreadsheet::WriteExcel".
但是我看到了一个使用下线和其他功能的代码,在我的系统上工作正常
$workbook = Spreadsheet::WriteExcel->new($file);`enter code here`
答案 0 :(得分:3)
您的系统上可能有多个perl版本,每个版本都会在不同的位置显示,并且具有不同的已安装模块集。
使用与您的代码相同的perl解释器,您应该能够验证它是否存在:
/path-to-that-perl/perl -le'use Spreadsheet::WriteExcel; print $INC{"Spreadsheet/WriteExcel.pm"}'
还应该有一个perldoc安装在那里,它们将在相同的位置:
/path-to-that-perl/perldoc -lm Spreadsheet::WriteExcel
有问题的代码也可能(尽管不太可能)向@INC
添加额外的目录,这些目录通过-I开关,use lib
,{{}来说明perl将查找模块的位置。 1}}环境变量,sitecustomize脚本,或直接修改PERL*
。
答案 1 :(得分:1)
运行perl -e "use Spreadsheet::WriteExcel"
如果已安装,则不会出现错误。