
のファイル コマンド (Debian Jessie) は、一部の Perl モジュールを認識しません。たとえば、/usr/share/perl5/XML/SAX.pm (libxml-sax-perl から) は次のようになります。
$ file /usr/share/perl5/XML/SAX.pm
/usr/share/perl5/XML/SAX.pm: C++ source, ASCII text
モジュールは次のように始まります:
# $Id$
package XML::SAX;
use strict;
use vars qw($VERSION @ISA @EXPORT_OK);
最初の 2 行を削除すると、ファイルはそれを Perl モジュールとして認識します。
$ file tt
tt: Perl5 module source, ASCII text
それでも、コメントで始まる他のモジュール (など) は/usr/lib/i386-linux-gnu/perl/5.20.2/Encode.pm
正しく識別されます。
これはバグですか? コンパイルされていない MIME データはどこにありますか/usr/share/file/magic.mgc
?
答え1
コンパイルされていないデータ(MIMEデータではない)は/usr/share/file/magic.mgc
、Magdir
の中にfile(1)
ソースコードPerlのマジックは特に次のように定義されていますMagdir/perl
. 発生している問題は修理済み; 修正はfile
バージョン 5.23 以降で利用可能です。