file 명령이 Perl 모듈을 인식하지 못합니다.

file 명령이 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);

처음 두 줄을 제거하면 파일은 이를 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. 당신이 보는 문제는안정적인;이 수정 사항은 file5.23 이상에서 사용 가능합니다.

관련 정보