ファイルの種類を調べる方法 その1

File::Typeモジュールを使う。

use strict;
use warnings;
use Perl6::Say;
use File::Type;

my ($input_file) = @ARGV;

my $ft = File::Type->new;
my $type = $ft->checktype_filename($input_file);

say $type;

このモジュールはファイルの先頭のヘッダみてMIMEtypeを決定しているよう(fileコマンドとかと同じ?)。別に、#!行をみたり、拡張子をみてくれたりはしないので、ソースコードの種類の判定には使えないな。(たいがい、application/octet-streamになる。)

良いのが見つかったらその2へ。