
Команда file (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);
Когда я удаляю первые две строки, file видит их как модуль 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 и более поздних.