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