如何检查excel插件是否在PERL中启用

如何检查excel插件是否在PERL中启用,perl,Perl,我刚开始用PERL导出excel电子表格 在开始之前,我需要确认,即excel电子表格realted plug是否启用 建议一些简单的PERL语法 感谢如果您使用的是来自CPAN的模块,例如,那么您只需使用一个简单的脚本来测试模块是否已安装: #!/usr/bin/perl use Excel::Writer::XLSX; 然后运行脚本。你会得到一个关于 Can't locate Excel/Writer/XLSX.pm in @INC 如果您的系统上未安装该模块。如果“excel插件”指的

我刚开始用PERL导出excel电子表格

在开始之前,我需要确认,即excel电子表格realted plug是否启用

建议一些简单的PERL语法


感谢

如果您使用的是来自CPAN的模块,例如,那么您只需使用一个简单的脚本来测试模块是否已安装:

#!/usr/bin/perl
use Excel::Writer::XLSX;
然后运行脚本。你会得到一个关于

Can't locate Excel/Writer/XLSX.pm in @INC
如果您的系统上未安装该模块。

如果“excel插件”指的是CPAN模块,则解决方案是尝试加载该模块并查看发生了什么。如果将加载尝试包装在“eval”语句中,那么如果失败,程序不会死掉

大概是这样的:

eval 'use Spreadsheet::ParseExcel';

my $have_module = ! $@;
这个方法有点不精确,因为我只是想看看是否给了$@一个值。要获得更多控制,您可能需要检查$@的内容以获取特定的错误消息。您正在寻找一个以“找不到…”开头的选项。

假设您的意思是:

如何判断从Web服务器发送到浏览器的Excel文档是否会在浏览器插件中打开(而不是在独立应用程序中保存或打开)

那你就不能。浏览器不会将该信息发送到服务器,因此没有服务器端进程(用Perl或其他语言编写)可以判断


如果它显示“ok”,那么你就很好。如果您得到一个
无法定位。。。在@INC
中,您需要安装它。

PERL不是首字母缩略词-您的意思是PERL:)如果这是您想要的,那么您甚至不需要脚本。只需在命令行中键入“perl-MExcel::Writer::XLSX”即可满足您的需要。当仅检查是否成功时,我喜欢直接使用eval的返回值:
my$have_module=eval{require Spreadsheet::ParseExcel}
那么您就不必为
$@
或其任何边缘情况而烦恼了。
perl -MExcel::Writer::XLSX -e "print 'ok'"