On Wed, Feb 28, 2007 at 06:55:27PM +0300, Alexey Tourbin wrote: > > По какому правилу он определился как Perl5 module source text? > > $ egrep '^package[ \t]+[A-Za-z][^.;]*;' /usr/lib/perl5/pod/perlfunc.pod > package in more than one place; it merely influences which symbol table > $ > > Хе-хе, лажа какая. Сейчас исправлю. Там размер регулярного выражения ограничен 32 байтами. То есть я нормальное регвыражение написал, но скомпилировать magic теперь не получается. А если увеличить место под строку регулярного выражения, то он опять не компилируется, потому что там фиксированное место под дисковую структуру. 32 байта под регулярное выражение для определения типа файла -- это они дураки или придуряются? commit 397f39398ea30bead80d46bb8ccdcb69f34c5b71 Author: Alexey Tourbin Date: Wed Feb 28 19:14:33 2007 +0300 magic/Magdir/perl: use rigorous regular expression for Perl5 modules diff --git a/file/magic/Magdir/perl b/file/magic/Magdir/perl index 2e989d7..1244b10 100644 --- a/file/magic/Magdir/perl +++ b/file/magic/Magdir/perl @@ -14,7 +14,7 @@ 0 string eval\ '(exit\ $?0)'\ &&\ eval\ 'exec perl script text # a couple more, by ldv -0 regex \^package[\ \ ]+[A-Za-z][^.;]*; Perl5 module source text +0 regex \^package[[:space:]]+[A-Za-z_][A-Za-z0-9_]*(::[A-Za-z_][A-Za-z0-9_]*)*[[:space:]]*; Perl5 module source text # Perl POD documents # From: Tom Hukins