我有一个下载文件的脚本,但这些文件在下载之前没有任何关于它们的信息。在为Linux编写时,我刚刚调用qx{ 'file ' . $filename }
来查看它是否是JPEG图像,如果没有删除它。但是,我现在正在尝试重写为独立于平台且纯Perl的形式。我已将所有调用system{ 'curl', $image_website }
调用到LWP :: UserAgent调用,我希望有一些方法可以用一些东西替换对文件的调用。
答案 0 :(得分:6)
File::Type
CPAN模块可以帮助您 - 它的描述是“使用魔法确定文件类型”,这是Unix type
命令所做的。
my $ft = File::Type->new();
my $type_from_file = $ft->checktype_filename($file);
另一个选项是File::LibMagic
(libmagic的Perl包装器; file-4.x或file-5.x)