ファイルコマンドは perl モジュールを認識しません

ファイルコマンドは perl モジュールを認識しません

のファイル コマンド (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.mgcMagdirの中にfile(1) ソースコードPerlのマジックは特に次のように定義されていますMagdir/perl. 発生している問題は修理済み; 修正はfileバージョン 5.23 以降で利用可能です。

関連情報