xref: /openbsd-src/usr.bin/file/magdir/perl (revision 2b0358df1d88d06ef4139321dd05bd5e05d91eaf)
1#	$OpenBSD: perl,v 1.2 2008/05/14 20:45:35 chl Exp $
2
3#------------------------------------------------------------------------------
4# perl:  file(1) magic for Larry Wall's perl language.
5#
6# The ``eval'' line recognizes an outrageously clever hack for USG systems.
7# Keith Waclena <keith@cerberus.uchicago.edu>
8# Send additions to <perl5-porters@perl.org>
90	string/b	#!\ /bin/perl			perl script text executable
100	string		eval\ "exec\ /bin/perl		perl script text
110	string/b	#!\ /usr/bin/perl		perl script text executable
120	string		eval\ "exec\ /usr/bin/perl	perl script text
130	string/b	#!\ /usr/local/bin/perl		perl script text
140	string		eval\ "exec\ /usr/local/bin/perl	perl script text executable
150	string		eval\ '(exit\ $?0)'\ &&\ eval\ 'exec	perl script text
16
17
18# by Dmitry V. Levin and Alexey Tourbin
19# check the first line
200	string		package
21>1	regex		\^package[\ \t]+[A-Za-z_]
22>>1	regex		\^package[\ \t]+[0-9A-Za-z_:]*\ *;	Perl5 module source text
23# not 'p', check other lines
240	byte		!0x70
25>0	regex		\^package[\ \t]+[0-9A-Za-z_:]+\ *;
26>>0	regex		\^1\ *;|\^(use|sub|my)\ .*[(;{=]	Perl5 module source text
27
28
29
30# Perl POD documents
31# From: Tom Hukins <tom@eborcom.com>
320	string/B	\=pod\n		Perl POD document
330	string/B	\n\=pod\n	Perl POD document
340	string/B	\=head1\ 	Perl POD document
350	string/B	\n\=head1\ 	Perl POD document
360	string/B	\=head2\ 	Perl POD document
370	string/B	\n\=head2\ 	Perl POD document
38
39# Perl Storable data files.
400	string	perl-store	perl Storable(v0.6) data
41>4	byte	>0	(net-order %d)
42>>4	byte	&01	(network-ordered)
43>>4	byte	=3	(major 1)
44>>4	byte	=2	(major 1)
45
460	string	pst0	perl Storable(v0.7) data
47>4	byte	>0
48>>4	byte	&01	(network-ordered)
49>>4	byte	=5	(major 2)
50>>4	byte	=4	(major 2)
51>>5	byte	>0	(minor %d)
52