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