xref: /openbsd/usr.bin/file/magdir/perl (revision 3d8817e4)
1#	$OpenBSD: perl,v 1.3 2009/04/24 18:54:34 chl Exp $
2
3#------------------------------------------------------------------------------
4# perl:  file(1) magic for Larry Wall's perl language.
5#
6# The `eval' lines recognizes an outrageously clever hack.
7# Keith Waclena <keith@cerberus.uchicago.edu>
8# Send additions to <perl5-porters@perl.org>
90	search/1/b	#!\ /bin/perl			Perl script text executable
10!:mime	application/x-perl
110	search/1	eval\ "exec\ /bin/perl		Perl script text
12!:mime	application/x-perl
130	search/1/b	#!\ /usr/bin/perl		Perl script text executable
14!:mime	application/x-perl
150	search/1	eval\ "exec\ /usr/bin/perl	Perl script text
16!:mime	application/x-perl
170	search/1/b	#!\ /usr/local/bin/perl		Perl script text executable
18!:mime	application/x-perl
190	search/1	eval\ "exec\ /usr/local/bin/perl	Perl script text
20!:mime	application/x-perl
210	search/1	eval\ '(exit\ $?0)'\ &&\ eval\ 'exec	Perl script text
22!:mime	application/x-perl
23
24
25# by Dmitry V. Levin and Alexey Tourbin
26# check the first line
270	search/1	package
280	regex		\^package[\ \t]+[A-Za-z_]
29>0	regex		\^package[\ \t]+[0-9A-Za-z_:]+\ *;	Perl5 module source text
30# not 'p', check other lines
310	search/1	!p
32>0	regex		\^package[\ \t]+[0-9A-Za-z_:]+\ *;
33>>0	regex		\^1\ *;|\^(use|sub|my)\ .*[(;{=]	Perl5 module source text
34
35
36
37# Perl POD documents
38# From: Tom Hukins <tom@eborcom.com>
390	search/1/B	\=pod\n		Perl POD document text
400	search/1/B	\n\=pod\n	Perl POD document text
410	search/1/B	\=head1\ 	Perl POD document text
420	search/1/B	\n\=head1\ 	Perl POD document text
430	search/1/B	\=head2\ 	Perl POD document text
440	search/1/B	\n\=head2\ 	Perl POD document text
45
46# Perl Storable data files.
470	string	perl-store	perl Storable (v0.6) data
48>4	byte	>0	(net-order %d)
49>>4	byte	&01	(network-ordered)
50>>4	byte	=3	(major 1)
51>>4	byte	=2	(major 1)
52
530	string	pst0	perl Storable (v0.7) data
54>4	byte	>0
55>>4	byte	&01	(network-ordered)
56>>4	byte	=5	(major 2)
57>>4	byte	=4	(major 2)
58>>5	byte	>0	(minor %d)
59