2011-01-24 92 views
3

我有一個腳本,下載文件,但這些文件沒有任何有關他們的信息被下載之前。在爲Linux編寫程序時,我剛剛調用了qx{ 'file ' . $filename }以查看它是否爲JPEG圖像,如果不刪除它。但是,我現在正在嘗試重寫爲獨立於平臺的純Perl表單。我已將所有呼叫轉到system{ 'curl', $image_website }以LWP :: UserAgent呼叫,我希望有一些方法可以用某種方式替換對文件的呼叫。Perl的命令或模塊,如Linux的「文件」命令

回答

6

File::Type CPAN模塊可以幫助你 - 它的描述是「使用魔法確定文件類型」,這是Unix type命令的作用。

my $ft = File::Type->new(); 
my $type_from_file = $ft->checktype_filename($file); 

另一種選擇是File::LibMagic(Perl的包裝器libmagic;文件4.x或文件5.x的)

+6

另外:[文件:: MimeInfo ::魔術](HTTP://搜索。 cpan.org/perldoc?File::MimeInfo::Magic)。 – ephemient 2011-01-24 23:54:04