команда file не распознает модуль perl

команда file не распознает модуль perl

Команда 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 и более поздних.

Связанный контент