xref: /dflybsd-src/contrib/file/magic/Magdir/perl (revision c30bd0917bb6a625e80a835271887a7812787d1c)
1327e51cbSPeter Avalos#------------------------------------------------------------------------------
2*c30bd091SSascha Wildner# $File: perl,v 1.26 2017/02/21 18:34:55 christos Exp $
3327e51cbSPeter Avalos# perl:  file(1) magic for Larry Wall's perl language.
4327e51cbSPeter Avalos#
579343712SPeter Avalos# The `eval' lines recognizes an outrageously clever hack.
6327e51cbSPeter Avalos# Keith Waclena <keith@cerberus.uchicago.edu>
7327e51cbSPeter Avalos# Send additions to <perl5-porters@perl.org>
8*c30bd091SSascha Wildner0	search/1024	eval\ "exec\ perl		Perl script text
979343712SPeter Avalos!:mime	text/x-perl
10*c30bd091SSascha Wildner0	search/1024	eval\ "exec\ /bin/perl		Perl script text
1179343712SPeter Avalos!:mime	text/x-perl
12*c30bd091SSascha Wildner0	search/1024	eval\ "exec\ /usr/bin/perl	Perl script text
1379343712SPeter Avalos!:mime	text/x-perl
14*c30bd091SSascha Wildner0	search/1024	eval\ "exec\ /usr/local/bin/perl	Perl script text
1579343712SPeter Avalos!:mime	text/x-perl
16*c30bd091SSascha Wildner0	search/1024	eval\ 'exec\ perl		Perl script text
179f86ab30SPeter Avalos!:mime	text/x-perl
18*c30bd091SSascha Wildner0	search/1024	eval\ 'exec\ /bin/perl		Perl script text
199f86ab30SPeter Avalos!:mime	text/x-perl
20*c30bd091SSascha Wildner0	search/1024	eval\ 'exec\ /usr/bin/perl	Perl script text
21*c30bd091SSascha Wildner!:mime	text/x-perl
22*c30bd091SSascha Wildner0	search/1024	eval\ 'exec\ /usr/local/bin/perl	Perl script text
23*c30bd091SSascha Wildner!:mime	text/x-perl
24*c30bd091SSascha Wildner0	search/1024	eval\ '(exit\ $?0)'\ &&\ eval\ 'exec	Perl script text
25*c30bd091SSascha Wildner!:mime	text/x-perl
26*c30bd091SSascha Wildner0	string	#!/usr/bin/env\ perl	Perl script text executable
27*c30bd091SSascha Wildner!:mime	text/x-perl
28*c30bd091SSascha Wildner0	string	#!\ /usr/bin/env\ perl	Perl script text executable
29*c30bd091SSascha Wildner!:mime	text/x-perl
30*c30bd091SSascha Wildner0	string	#!
31*c30bd091SSascha Wildner>0	regex	\^#!.*/bin/perl([[:space:]].*)*$	Perl script text executable
32e8af9738SPeter Avalos!:mime	text/x-perl
33327e51cbSPeter Avalos
34327e51cbSPeter Avalos# by Dmitry V. Levin and Alexey Tourbin
35327e51cbSPeter Avalos# check the first line
36*c30bd091SSascha Wildner0	search/8192	package
3779343712SPeter Avalos>0	regex		\^package[\ \t]+[0-9A-Za-z_:]+\ *;	Perl5 module source text
38*c30bd091SSascha Wildner!:strength + 40
39327e51cbSPeter Avalos# not 'p', check other lines
40*c30bd091SSascha Wildner0	search/8192	!p
41327e51cbSPeter Avalos>0	regex		\^package[\ \t]+[0-9A-Za-z_:]+\ *;
42327e51cbSPeter Avalos>>0	regex		\^1\ *;|\^(use|sub|my)\ .*[(;{=]	Perl5 module source text
43*c30bd091SSascha Wildner!:strength + 75
44327e51cbSPeter Avalos
45327e51cbSPeter Avalos# Perl POD documents
46327e51cbSPeter Avalos# From: Tom Hukins <tom@eborcom.com>
47*c30bd091SSascha Wildner0	search/1024/W	\=pod\n		Perl POD document text
48*c30bd091SSascha Wildner0	search/1024/W	\n\=pod\n	Perl POD document text
49*c30bd091SSascha Wildner0	search/1024/W	\=head1\ 	Perl POD document text
50*c30bd091SSascha Wildner0	search/1024/W	\n\=head1\ 	Perl POD document text
51*c30bd091SSascha Wildner0	search/1024/W	\=head2\ 	Perl POD document text
52*c30bd091SSascha Wildner0	search/1024/W	\n\=head2\ 	Perl POD document text
53*c30bd091SSascha Wildner0	search/1024/W	\=encoding\ 	Perl POD document text
54*c30bd091SSascha Wildner0	search/1024/W	\n\=encoding\ 	Perl POD document text
55e8af9738SPeter Avalos
56327e51cbSPeter Avalos
57327e51cbSPeter Avalos# Perl Storable data files.
58327e51cbSPeter Avalos0	string	perl-store	perl Storable (v0.6) data
59327e51cbSPeter Avalos>4	byte	>0	(net-order %d)
60327e51cbSPeter Avalos>>4	byte	&01	(network-ordered)
61327e51cbSPeter Avalos>>4	byte	=3	(major 1)
62327e51cbSPeter Avalos>>4	byte	=2	(major 1)
63327e51cbSPeter Avalos
64327e51cbSPeter Avalos0	string	pst0	perl Storable (v0.7) data
65327e51cbSPeter Avalos>4	byte	>0
66327e51cbSPeter Avalos>>4	byte	&01	(network-ordered)
67327e51cbSPeter Avalos>>4	byte	=5	(major 2)
68327e51cbSPeter Avalos>>4	byte	=4	(major 2)
69327e51cbSPeter Avalos>>5	byte	>0	(minor %d)
7082c5fa3eSPeter Avalos
7182c5fa3eSPeter Avalos# This is Debian #742949 by Zefram <zefram@fysh.org>:
7282c5fa3eSPeter Avalos# -----------------------------------------------------------
7382c5fa3eSPeter Avalos# The Perl module Hash::SharedMem
7482c5fa3eSPeter Avalos# <https://metacpan.org/release/Hash-SharedMem> defines a file format
7582c5fa3eSPeter Avalos# for a key/value store.  Details of the file format are in the "DESIGN"
7682c5fa3eSPeter Avalos# file in the module distribution.  Magic:
7782c5fa3eSPeter Avalos0	bequad	=0xa58afd185cbf5af7	Hash::SharedMem master file, big-endian
7882c5fa3eSPeter Avalos>8	bequad	<0x1000000
7982c5fa3eSPeter Avalos>>15	byte	>2	\b, line size 2^%d byte
8082c5fa3eSPeter Avalos>>14	byte	>2	\b, page size 2^%d byte
8182c5fa3eSPeter Avalos>>13	byte	&1
8282c5fa3eSPeter Avalos>>>13	byte	>1	\b, max fanout %d
8382c5fa3eSPeter Avalos0	lequad	=0xa58afd185cbf5af7	Hash::SharedMem master file, little-endian
8482c5fa3eSPeter Avalos>8	lequad	<0x1000000
8582c5fa3eSPeter Avalos>>8	byte	>2	\b, line size 2^%d byte
8682c5fa3eSPeter Avalos>>9	byte	>2	\b, page size 2^%d byte
8782c5fa3eSPeter Avalos>>10	byte	&1
8882c5fa3eSPeter Avalos>>>10	byte	>1	\b, max fanout %d
8982c5fa3eSPeter Avalos0	bequad	=0xc693dac5ed5e47c2	Hash::SharedMem data file, big-endian
9082c5fa3eSPeter Avalos>8	bequad	<0x1000000
9182c5fa3eSPeter Avalos>>15	byte	>2	\b, line size 2^%d byte
9282c5fa3eSPeter Avalos>>14	byte	>2	\b, page size 2^%d byte
9382c5fa3eSPeter Avalos>>13	byte	&1
9482c5fa3eSPeter Avalos>>>13	byte	>1	\b, max fanout %d
9582c5fa3eSPeter Avalos0	lequad	=0xc693dac5ed5e47c2	Hash::SharedMem data file, little-endian
9682c5fa3eSPeter Avalos>8	lequad	<0x1000000
9782c5fa3eSPeter Avalos>>8	byte	>2	\b, line size 2^%d byte
9882c5fa3eSPeter Avalos>>9	byte	>2	\b, page size 2^%d byte
9982c5fa3eSPeter Avalos>>10	byte	&1
10082c5fa3eSPeter Avalos>>>10	byte	>1	\b, max fanout %d
101