我試圖將HTML文件轉換爲EPUB與EBook ::電子數據交換。我寫劇本是很簡單的,就像這樣:存檔::郵編,電子郵件::電子數據交換和IIS6 - 「desiredCompressionLevel」錯誤
my $epub = EBook::EPUB->new;
$epub->add_title('title');
$epub->add_author('author');
$epub->add_language('en');
$epub->copy_xhtml("d:/path/to/file.html" , "file.html");
$epub->pack_zip("d:/path/to/file.epub");
當我運行此命令行,它的偉大工程。但是,我想將其部署爲IIS6服務器上的CGI腳本 - 它運行斷相同計算機 - 失敗此消息:
Can't call method "desiredCompressionLevel" on an undefined value at C:/strawberry/perl/vendor/lib/Archive/Zip/Archive.pm line 252.
我檢查了Archive.pm,和第252行在sub addFile中。它使用了三個變量 - $文件名,$了newName,$ compressionLevel - 我用了一些打印語句從右側前行252($ compressionLevel始終是空白)顯示其值的
這是在命令行中,它的工作原理:
filename: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\7QiqzzNiN5/OPS/file.html
newname: OPS/Advanced8247.html
filename: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\7QiqzzNiN5/OPS/content.opf
newname: OPS/content.opf
filename: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\7QiqzzNiN5/OPS/toc.ncx
newname: OPS/toc.ncx
filename: C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\DkgiQN_pTq
newname: META-INF/container.xml
這是從服務器,它炸彈:
filename: C:\WINDOWS\TEMP\8rxbvOVkKy/OPS/file.html
newname: OPS/Advanced6575.html
filename: C:\WINDOWS\TEMP\8rxbvOVkKy/OPS/content.opf
newname: OPS/content.opf
filename: C:\WINDOWS\TEMP\8rxbvOVkKy/OPS/toc.ncx
newname: OPS/toc.ncx
filename: C:\WINDOWS\TEMP\WqS7fskWi0
newname: META-INF/container.xml
所以我猜測,我的問題與臨時文件正被寫入到哪裏做,但我真不對服務器和Archive :: Zip瞭解不多。有任何想法嗎?