我有一個Perl腳本,它的最後一步是創建它創建的文件的壓縮版本。由於一些不幸的設置,我們不能保證給定的客戶將具有特定的壓縮功能。我希望把這樣的事情一起:只有存在外部應用程序的最佳方式
if ($has_jar) {
system("jar -c $compressed_file $infile");
}
elsif ($has_zip) {
system("zip -j $compressed_file $infile");
}
else {
copy($infile, $compressed_file);
}
在哪裏,如果他們沒有任何壓縮的應用程序,它只是將文件複製到壓縮文件的位置,而不將其壓縮。
我這裏的粘滯檢票口是我不太確定最好的方法是確定他們是否有jar或zip。它看起來像我可以使用exec()而不是系統()並利用它只會返回,如果它失敗的事實,但腳本實際上確實做了幾件事情之後,所以不會工作。
我還需要這個可移植的解決方案,因爲這個腳本可以在Windows和各種Unix發行版上運行。提前致謝。
它會在早於5.10.0的perls上運行嗎? – 2009-08-17 22:46:04
是的。試了兩臺不同的機器,得到了5.8.4和5.8.0。 – Morinar 2009-08-18 14:55:22