]> CyberLeo.Net >> Repos - FreeBSD/releng/10.3.git/blob - contrib/file/magic/Magdir/perl
Update file(1) to new version with security update. [EN-18:02.file]
[FreeBSD/releng/10.3.git] / contrib / file / magic / Magdir / perl
1 #------------------------------------------------------------------------------
2 # $File: perl,v 1.26 2017/02/21 18:34:55 christos Exp $
3 # perl:  file(1) magic for Larry Wall's perl language.
4 #
5 # The `eval' lines recognizes an outrageously clever hack.
6 # Keith Waclena <keith@cerberus.uchicago.edu>
7 # Send additions to <perl5-porters@perl.org>
8 0       search/1024     eval\ "exec\ perl               Perl script text
9 !:mime  text/x-perl
10 0       search/1024     eval\ "exec\ /bin/perl          Perl script text
11 !:mime  text/x-perl
12 0       search/1024     eval\ "exec\ /usr/bin/perl      Perl script text
13 !:mime  text/x-perl
14 0       search/1024     eval\ "exec\ /usr/local/bin/perl        Perl script text
15 !:mime  text/x-perl
16 0       search/1024     eval\ 'exec\ perl               Perl script text
17 !:mime  text/x-perl
18 0       search/1024     eval\ 'exec\ /bin/perl          Perl script text
19 !:mime  text/x-perl
20 0       search/1024     eval\ 'exec\ /usr/bin/perl      Perl script text
21 !:mime  text/x-perl
22 0       search/1024     eval\ 'exec\ /usr/local/bin/perl        Perl script text
23 !:mime  text/x-perl
24 0       search/1024     eval\ '(exit\ $?0)'\ &&\ eval\ 'exec    Perl script text
25 !:mime  text/x-perl
26 0       string  #!/usr/bin/env\ perl    Perl script text executable
27 !:mime  text/x-perl
28 0       string  #!\ /usr/bin/env\ perl  Perl script text executable
29 !:mime  text/x-perl
30 0       string  #!
31 >0      regex   \^#!.*/bin/perl([[:space:]].*)*$        Perl script text executable
32 !:mime  text/x-perl
33
34 # by Dmitry V. Levin and Alexey Tourbin
35 # check the first line
36 0       search/8192     package
37 >0      regex           \^package[\ \t]+[0-9A-Za-z_:]+\ *;      Perl5 module source text
38 !:strength + 40
39 # not 'p', check other lines
40 0       search/8192     !p
41 >0      regex           \^package[\ \t]+[0-9A-Za-z_:]+\ *;
42 >>0     regex           \^1\ *;|\^(use|sub|my)\ .*[(;{=]        Perl5 module source text
43 !:strength + 75
44
45 # Perl POD documents
46 # From: Tom Hukins <tom@eborcom.com>
47 0       search/1024/W   \=pod\n         Perl POD document text
48 0       search/1024/W   \n\=pod\n       Perl POD document text
49 0       search/1024/W   \=head1\        Perl POD document text
50 0       search/1024/W   \n\=head1\      Perl POD document text
51 0       search/1024/W   \=head2\        Perl POD document text
52 0       search/1024/W   \n\=head2\      Perl POD document text
53 0       search/1024/W   \=encoding\     Perl POD document text
54 0       search/1024/W   \n\=encoding\   Perl POD document text
55
56
57 # Perl Storable data files.
58 0       string  perl-store      perl Storable (v0.6) data
59 >4      byte    >0      (net-order %d)
60 >>4     byte    &01     (network-ordered)
61 >>4     byte    =3      (major 1)
62 >>4     byte    =2      (major 1)
63
64 0       string  pst0    perl Storable (v0.7) data
65 >4      byte    >0
66 >>4     byte    &01     (network-ordered)
67 >>4     byte    =5      (major 2)
68 >>4     byte    =4      (major 2)
69 >>5     byte    >0      (minor %d)
70
71 # This is Debian #742949 by Zefram <zefram@fysh.org>:
72 # -----------------------------------------------------------
73 # The Perl module Hash::SharedMem
74 # <https://metacpan.org/release/Hash-SharedMem> defines a file format
75 # for a key/value store.  Details of the file format are in the "DESIGN"
76 # file in the module distribution.  Magic:
77 0       bequad  =0xa58afd185cbf5af7     Hash::SharedMem master file, big-endian
78 >8      bequad  <0x1000000
79 >>15    byte    >2      \b, line size 2^%d byte
80 >>14    byte    >2      \b, page size 2^%d byte
81 >>13    byte    &1
82 >>>13   byte    >1      \b, max fanout %d
83 0       lequad  =0xa58afd185cbf5af7     Hash::SharedMem master file, little-endian
84 >8      lequad  <0x1000000
85 >>8     byte    >2      \b, line size 2^%d byte
86 >>9     byte    >2      \b, page size 2^%d byte
87 >>10    byte    &1
88 >>>10   byte    >1      \b, max fanout %d
89 0       bequad  =0xc693dac5ed5e47c2     Hash::SharedMem data file, big-endian
90 >8      bequad  <0x1000000
91 >>15    byte    >2      \b, line size 2^%d byte
92 >>14    byte    >2      \b, page size 2^%d byte
93 >>13    byte    &1
94 >>>13   byte    >1      \b, max fanout %d
95 0       lequad  =0xc693dac5ed5e47c2     Hash::SharedMem data file, little-endian
96 >8      lequad  <0x1000000
97 >>8     byte    >2      \b, line size 2^%d byte
98 >>9     byte    >2      \b, page size 2^%d byte
99 >>10    byte    &1
100 >>>10   byte    >1      \b, max fanout %d