2011-01-10 34 views
-2

上午剛開始導出excel電子表格中PERL工作啓用的Excel插件,如何檢查,在PERL

開始之前,我想確認,也就是說,它是excel電子表格realted插頭啓用與否,

奉勸一些簡單的Perl語法,

感謝

+5

PERL不是首字母縮略詞 - 你的意思是Perl :) – 2011-01-10 04:52:43

回答

2

如果您使用的是模塊從CPAN如Excel::Writer::XLSX那麼你可以只使用一個簡單的腳本來測試是否安裝該模塊:

#!/usr/bin/perl 
use Excel::Writer::XLSX; 

並運行該腳本。你會得到一個錯誤約

Can't locate Excel/Writer/XLSX.pm in @INC 

如果模塊沒有安裝在您的系統上。

+2

如果這就是你想要的,那麼你甚至不需要腳本。只需在命令行輸入「perl -MExcel :: Writer :: XLSX」就可以得到你想要的東西。 – 2011-01-10 09:23:39

2

如果通過「excel插件」,你的意思是一個CPAN模塊,那麼解決方案是嘗試加載它,看看會發生什麼。如果你將加載嘗試包裝在「eval」語句中,那麼如果程序失敗,你的程序不會死。

事情是這樣的:

eval 'use Spreadsheet::ParseExcel'; 

my $have_module = ! [email protected]; 

這種方法,因爲我只是想看看是否$ @已被賦予了價值一點點不精確。要獲得更多控制權,您可能需要檢查$ @的內容以獲取特定的錯誤消息。你正在尋找一個開始「找不到...」的人。

+0

當只檢查成功時,我喜歡直接使用eval的返回值:`my $ have_module = eval {require Spreadsheet :: ParseExcel};`那麼你不必爲`$ @`或其任何邊緣情況。 – 2011-01-10 19:36:35

0

假設你的意思是:

如何我可以告訴大家,如果從我的web服務器傳送到瀏覽器的Excel文檔將在瀏覽器插件打開(而不是被保存或在一個獨立的應用程序打開的)?

然後你不能。瀏覽器不會將這些信息發送到服務器,所以沒有服務器端進程(用Perl或其他語言編寫)可以告訴。

0
perl -MExcel::Writer::XLSX -e "print 'ok'" 

如果打印出'ok',那麼你很好。如果你得到can't locate ... in @INC那麼你需要安裝它。

相關問題