1284194Sdelphij#------------------------------------------------------------------------------
2284194Sdelphij# $File: perl,v 1.22 2014/04/28 12:04:35 christos Exp $
3284194Sdelphij# perl:  file(1) magic for Larry Wall's perl language.
4284194Sdelphij#
5284194Sdelphij# The `eval' lines recognizes an outrageously clever hack.
6284194Sdelphij# Keith Waclena <keith@cerberus.uchicago.edu>
7284194Sdelphij# Send additions to <perl5-porters@perl.org>
8284194Sdelphij0	search/1	eval\ "exec\ /bin/perl		Perl script text
9284194Sdelphij!:mime	text/x-perl
10284194Sdelphij0	search/1	eval\ "exec\ /usr/bin/perl	Perl script text
11284194Sdelphij!:mime	text/x-perl
12284194Sdelphij0	search/1	eval\ "exec\ /usr/local/bin/perl	Perl script text
13284194Sdelphij!:mime	text/x-perl
14284194Sdelphij0	search/1	eval\ '(exit\ $?0)'\ &&\ eval\ 'exec	Perl script text
15284194Sdelphij!:mime	text/x-perl
16284194Sdelphij0	search/1	#!/usr/bin/env\ perl	Perl script text executable
17284194Sdelphij!:mime	text/x-perl
18284194Sdelphij0	search/1	#!\ /usr/bin/env\ perl	Perl script text executable
19284194Sdelphij!:mime	text/x-perl
20284194Sdelphij0	search/1	#!
21284194Sdelphij>0	regex	\^#!.*/bin/perl$	Perl script text executable
22284194Sdelphij!:mime	text/x-perl
23284194Sdelphij
24284194Sdelphij# by Dmitry V. Levin and Alexey Tourbin
25284194Sdelphij# check the first line
26284194Sdelphij0	search/1	package
27284194Sdelphij>0	regex		\^package[\ \t]+[0-9A-Za-z_:]+\ *;	Perl5 module source text
28284194Sdelphij!:strength + 10
29284194Sdelphij# not 'p', check other lines
30284194Sdelphij0	search/1	!p
31284194Sdelphij>0	regex		\^package[\ \t]+[0-9A-Za-z_:]+\ *;
32284194Sdelphij>>0	regex		\^1\ *;|\^(use|sub|my)\ .*[(;{=]	Perl5 module source text
33284194Sdelphij!:strength + 10
34284194Sdelphij
35284194Sdelphij# Perl POD documents
36284194Sdelphij# From: Tom Hukins <tom@eborcom.com>
37284194Sdelphij0	search/1/W	\=pod\n		Perl POD document text
38284194Sdelphij0	search/1/W	\n\=pod\n	Perl POD document text
39284194Sdelphij0	search/1/W	\=head1\ 	Perl POD document text
40284194Sdelphij0	search/1/W	\n\=head1\ 	Perl POD document text
41284194Sdelphij0	search/1/W	\=head2\ 	Perl POD document text
42284194Sdelphij0	search/1/W	\n\=head2\ 	Perl POD document text
43284194Sdelphij0	search/1/W	\=encoding\ 	Perl POD document text
44284194Sdelphij0	search/1/W	\n\=encoding\ 	Perl POD document text
45284194Sdelphij
46284194Sdelphij
47284194Sdelphij# Perl Storable data files.
48284194Sdelphij0	string	perl-store	perl Storable (v0.6) data
49284194Sdelphij>4	byte	>0	(net-order %d)
50284194Sdelphij>>4	byte	&01	(network-ordered)
51284194Sdelphij>>4	byte	=3	(major 1)
52284194Sdelphij>>4	byte	=2	(major 1)
53284194Sdelphij
54284194Sdelphij0	string	pst0	perl Storable (v0.7) data
55284194Sdelphij>4	byte	>0
56284194Sdelphij>>4	byte	&01	(network-ordered)
57284194Sdelphij>>4	byte	=5	(major 2)
58284194Sdelphij>>4	byte	=4	(major 2)
59284194Sdelphij>>5	byte	>0	(minor %d)
60284194Sdelphij
61284194Sdelphij# This is Debian #742949 by Zefram <zefram@fysh.org>:
62284194Sdelphij# -----------------------------------------------------------
63284194Sdelphij# The Perl module Hash::SharedMem
64284194Sdelphij# <https://metacpan.org/release/Hash-SharedMem> defines a file format
65284194Sdelphij# for a key/value store.  Details of the file format are in the "DESIGN"
66284194Sdelphij# file in the module distribution.  Magic:
67284194Sdelphij0	bequad	=0xa58afd185cbf5af7	Hash::SharedMem master file, big-endian
68284194Sdelphij>8	bequad	<0x1000000
69284194Sdelphij>>15	byte	>2	\b, line size 2^%d byte
70284194Sdelphij>>14	byte	>2	\b, page size 2^%d byte
71284194Sdelphij>>13	byte	&1
72284194Sdelphij>>>13	byte	>1	\b, max fanout %d
73284194Sdelphij0	lequad	=0xa58afd185cbf5af7	Hash::SharedMem master file, little-endian
74284194Sdelphij>8	lequad	<0x1000000
75284194Sdelphij>>8	byte	>2	\b, line size 2^%d byte
76284194Sdelphij>>9	byte	>2	\b, page size 2^%d byte
77284194Sdelphij>>10	byte	&1
78284194Sdelphij>>>10	byte	>1	\b, max fanout %d
79284194Sdelphij0	bequad	=0xc693dac5ed5e47c2	Hash::SharedMem data file, big-endian
80284194Sdelphij>8	bequad	<0x1000000
81284194Sdelphij>>15	byte	>2	\b, line size 2^%d byte
82284194Sdelphij>>14	byte	>2	\b, page size 2^%d byte
83284194Sdelphij>>13	byte	&1
84284194Sdelphij>>>13	byte	>1	\b, max fanout %d
85284194Sdelphij0	lequad	=0xc693dac5ed5e47c2	Hash::SharedMem data file, little-endian
86284194Sdelphij>8	lequad	<0x1000000
87284194Sdelphij>>8	byte	>2	\b, line size 2^%d byte
88284194Sdelphij>>9	byte	>2	\b, page size 2^%d byte
89284194Sdelphij>>10	byte	&1
90284194Sdelphij>>>10	byte	>1	\b, max fanout %d
91