On Wed, Feb 28, 2007 at 07:38:37PM +0300, Alexey Tourbin wrote: > 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 байта под регулярное выражение для определения типа файла -- это они > дураки или придуряются? Эврика!! 0 regex ^package[[:space:]]+ 1 >0 regex ^[A-Za-z_][A-Za-z0-9_]* 2 >>0 regex ^(::[A-Za-z_][A-Za-z0-9_]*)* 3 >>>0 regex ^[[:space:]]*; YES $ file -m file/magic/Magdir/perl /usr/lib/perl5/strict.pm /usr/lib/perl5/strict.pm: 1 2 3 YES $ > 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 > _______________________________________________ > Devel mailing list > Devel@lists.altlinux.org > https://lists.altlinux.org/mailman/listinfo/devel