上午剛開始導出excel電子表格中PERL工作啓用的Excel插件,如何檢查,在PERL
開始之前,我想確認,也就是說,它是excel電子表格realted插頭啓用與否,
奉勸一些簡單的Perl語法,
感謝
上午剛開始導出excel電子表格中PERL工作啓用的Excel插件,如何檢查,在PERL
開始之前,我想確認,也就是說,它是excel電子表格realted插頭啓用與否,
奉勸一些簡單的Perl語法,
感謝
如果您使用的是模塊從CPAN如Excel::Writer::XLSX那麼你可以只使用一個簡單的腳本來測試是否安裝該模塊:
#!/usr/bin/perl
use Excel::Writer::XLSX;
並運行該腳本。你會得到一個錯誤約
Can't locate Excel/Writer/XLSX.pm in @INC
如果模塊沒有安裝在您的系統上。
如果這就是你想要的,那麼你甚至不需要腳本。只需在命令行輸入「perl -MExcel :: Writer :: XLSX」就可以得到你想要的東西。 – 2011-01-10 09:23:39
如果通過「excel插件」,你的意思是一個CPAN模塊,那麼解決方案是嘗試加載它,看看會發生什麼。如果你將加載嘗試包裝在「eval」語句中,那麼如果程序失敗,你的程序不會死。
事情是這樣的:
eval 'use Spreadsheet::ParseExcel';
my $have_module = ! [email protected];
這種方法,因爲我只是想看看是否$ @已被賦予了價值一點點不精確。要獲得更多控制權,您可能需要檢查$ @的內容以獲取特定的錯誤消息。你正在尋找一個開始「找不到...」的人。
當只檢查成功時,我喜歡直接使用eval的返回值:`my $ have_module = eval {require Spreadsheet :: ParseExcel};`那麼你不必爲`$ @`或其任何邊緣情況。 – 2011-01-10 19:36:35
假設你的意思是:
如何我可以告訴大家,如果從我的web服務器傳送到瀏覽器的Excel文檔將在瀏覽器插件打開(而不是被保存或在一個獨立的應用程序打開的)?
然後你不能。瀏覽器不會將這些信息發送到服務器,所以沒有服務器端進程(用Perl或其他語言編寫)可以告訴。
perl -MExcel::Writer::XLSX -e "print 'ok'"
如果打印出'ok',那麼你很好。如果你得到can't locate ... in @INC
那麼你需要安裝它。
PERL不是首字母縮略詞 - 你的意思是Perl :) – 2011-01-10 04:52:43