Merge branch 'vendor/FILE'
[dragonfly.git] / contrib / file / magic / Magdir / perl
1 #------------------------------------------------------------------------------
2 # $File: perl,v 1.21 2013/12/08 23:33:18 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/1        eval\ "exec\ /bin/perl          Perl script text
9 !:mime  text/x-perl
10 0       search/1        eval\ "exec\ /usr/bin/perl      Perl script text
11 !:mime  text/x-perl
12 0       search/1        eval\ "exec\ /usr/local/bin/perl        Perl script text
13 !:mime  text/x-perl
14 0       search/1        eval\ '(exit\ $?0)'\ &&\ eval\ 'exec    Perl script text
15 !:mime  text/x-perl
16 0       search/1        #!/usr/bin/env\ perl    Perl script text executable
17 !:mime  text/x-perl
18 0       search/1        #!\ /usr/bin/env\ perl  Perl script text executable
19 !:mime  text/x-perl
20 0       search/1        #!
21 >0      regex   \^#!.*/bin/perl$        Perl script text executable
22 !:mime  text/x-perl
23
24 # by Dmitry V. Levin and Alexey Tourbin
25 # check the first line
26 0       search/1        package
27 >0      regex           \^package[\ \t]+[0-9A-Za-z_:]+\ *;      Perl5 module source text
28 !:strength + 10
29 # not 'p', check other lines
30 0       search/1        !p
31 >0      regex           \^package[\ \t]+[0-9A-Za-z_:]+\ *;
32 >>0     regex           \^1\ *;|\^(use|sub|my)\ .*[(;{=]        Perl5 module source text
33 !:strength + 10
34
35 # Perl POD documents
36 # From: Tom Hukins <tom@eborcom.com>
37 0       search/1/W      \=pod\n         Perl POD document text
38 0       search/1/W      \n\=pod\n       Perl POD document text
39 0       search/1/W      \=head1\        Perl POD document text
40 0       search/1/W      \n\=head1\      Perl POD document text
41 0       search/1/W      \=head2\        Perl POD document text
42 0       search/1/W      \n\=head2\      Perl POD document text
43 0       search/1/W      \=encoding\     Perl POD document text
44 0       search/1/W      \n\=encoding\   Perl POD document text
45
46
47 # Perl Storable data files.
48 0       string  perl-store      perl Storable (v0.6) data
49 >4      byte    >0      (net-order %d)
50 >>4     byte    &01     (network-ordered)
51 >>4     byte    =3      (major 1)
52 >>4     byte    =2      (major 1)
53
54 0       string  pst0    perl Storable (v0.7) data
55 >4      byte    >0
56 >>4     byte    &01     (network-ordered)
57 >>4     byte    =5      (major 2)
58 >>4     byte    =4      (major 2)
59 >>5     byte    >0      (minor %d)