1b6cee71dSXin LI#------------------------------------------------------------------------------ 2*282e23f0SXin LI# $File: perl,v 1.25 2016/06/07 23:28:37 rrt Exp $ 3b6cee71dSXin LI# perl: file(1) magic for Larry Wall's perl language. 4b6cee71dSXin LI# 5b6cee71dSXin LI# The `eval' lines recognizes an outrageously clever hack. 6b6cee71dSXin LI# Keith Waclena <keith@cerberus.uchicago.edu> 7b6cee71dSXin LI# Send additions to <perl5-porters@perl.org> 85f0216bdSXin LI0 search/1024 eval\ "exec\ perl Perl script text 9b6cee71dSXin LI!:mime text/x-perl 105f0216bdSXin LI0 search/1024 eval\ "exec\ /bin/perl Perl script text 11b6cee71dSXin LI!:mime text/x-perl 125f0216bdSXin LI0 search/1024 eval\ "exec\ /usr/bin/perl Perl script text 13b6cee71dSXin LI!:mime text/x-perl 145f0216bdSXin LI0 search/1024 eval\ "exec\ /usr/local/bin/perl Perl script text 15b6cee71dSXin LI!:mime text/x-perl 165f0216bdSXin LI0 search/1024 eval\ 'exec\ perl Perl script text 17b6cee71dSXin LI!:mime text/x-perl 185f0216bdSXin LI0 search/1024 eval\ 'exec\ /bin/perl Perl script text 19b6cee71dSXin LI!:mime text/x-perl 205f0216bdSXin LI0 search/1024 eval\ 'exec\ /usr/bin/perl Perl script text 215f0216bdSXin LI!:mime text/x-perl 225f0216bdSXin LI0 search/1024 eval\ 'exec\ /usr/local/bin/perl Perl script text 235f0216bdSXin LI!:mime text/x-perl 245f0216bdSXin LI0 search/1024 eval\ '(exit\ $?0)'\ &&\ eval\ 'exec Perl script text 255f0216bdSXin LI!:mime text/x-perl 26*282e23f0SXin LI0 string #!/usr/bin/env\ perl Perl script text executable 275f0216bdSXin LI!:mime text/x-perl 28*282e23f0SXin LI0 string #!\ /usr/bin/env\ perl Perl script text executable 295f0216bdSXin LI!:mime text/x-perl 30*282e23f0SXin LI0 string #! 315f0216bdSXin LI>0 regex \^#!.*/bin/perl([[:space:]].*)*$ Perl script text executable 32b6cee71dSXin LI!:mime text/x-perl 33b6cee71dSXin LI 34b6cee71dSXin LI# by Dmitry V. Levin and Alexey Tourbin 35b6cee71dSXin LI# check the first line 365f0216bdSXin LI0 search/1024 package 37b6cee71dSXin LI>0 regex \^package[\ \t]+[0-9A-Za-z_:]+\ *; Perl5 module source text 38b6cee71dSXin LI!:strength + 10 39b6cee71dSXin LI# not 'p', check other lines 405f0216bdSXin LI0 search/1024 !p 41b6cee71dSXin LI>0 regex \^package[\ \t]+[0-9A-Za-z_:]+\ *; 42b6cee71dSXin LI>>0 regex \^1\ *;|\^(use|sub|my)\ .*[(;{=] Perl5 module source text 43b6cee71dSXin LI!:strength + 10 44b6cee71dSXin LI 45b6cee71dSXin LI# Perl POD documents 46b6cee71dSXin LI# From: Tom Hukins <tom@eborcom.com> 475f0216bdSXin LI0 search/1024/W \=pod\n Perl POD document text 485f0216bdSXin LI0 search/1024/W \n\=pod\n Perl POD document text 495f0216bdSXin LI0 search/1024/W \=head1\ Perl POD document text 505f0216bdSXin LI0 search/1024/W \n\=head1\ Perl POD document text 515f0216bdSXin LI0 search/1024/W \=head2\ Perl POD document text 525f0216bdSXin LI0 search/1024/W \n\=head2\ Perl POD document text 535f0216bdSXin LI0 search/1024/W \=encoding\ Perl POD document text 545f0216bdSXin LI0 search/1024/W \n\=encoding\ Perl POD document text 55b6cee71dSXin LI 56b6cee71dSXin LI 57b6cee71dSXin LI# Perl Storable data files. 58b6cee71dSXin LI0 string perl-store perl Storable (v0.6) data 59b6cee71dSXin LI>4 byte >0 (net-order %d) 60b6cee71dSXin LI>>4 byte &01 (network-ordered) 61b6cee71dSXin LI>>4 byte =3 (major 1) 62b6cee71dSXin LI>>4 byte =2 (major 1) 63b6cee71dSXin LI 64b6cee71dSXin LI0 string pst0 perl Storable (v0.7) data 65b6cee71dSXin LI>4 byte >0 66b6cee71dSXin LI>>4 byte &01 (network-ordered) 67b6cee71dSXin LI>>4 byte =5 (major 2) 68b6cee71dSXin LI>>4 byte =4 (major 2) 69b6cee71dSXin LI>>5 byte >0 (minor %d) 70b6cee71dSXin LI 71b6cee71dSXin LI# This is Debian #742949 by Zefram <zefram@fysh.org>: 72b6cee71dSXin LI# ----------------------------------------------------------- 73b6cee71dSXin LI# The Perl module Hash::SharedMem 74b6cee71dSXin LI# <https://metacpan.org/release/Hash-SharedMem> defines a file format 75b6cee71dSXin LI# for a key/value store. Details of the file format are in the "DESIGN" 76b6cee71dSXin LI# file in the module distribution. Magic: 77b6cee71dSXin LI0 bequad =0xa58afd185cbf5af7 Hash::SharedMem master file, big-endian 78b6cee71dSXin LI>8 bequad <0x1000000 79b6cee71dSXin LI>>15 byte >2 \b, line size 2^%d byte 80b6cee71dSXin LI>>14 byte >2 \b, page size 2^%d byte 81b6cee71dSXin LI>>13 byte &1 82b6cee71dSXin LI>>>13 byte >1 \b, max fanout %d 83b6cee71dSXin LI0 lequad =0xa58afd185cbf5af7 Hash::SharedMem master file, little-endian 84b6cee71dSXin LI>8 lequad <0x1000000 85b6cee71dSXin LI>>8 byte >2 \b, line size 2^%d byte 86b6cee71dSXin LI>>9 byte >2 \b, page size 2^%d byte 87b6cee71dSXin LI>>10 byte &1 88b6cee71dSXin LI>>>10 byte >1 \b, max fanout %d 89b6cee71dSXin LI0 bequad =0xc693dac5ed5e47c2 Hash::SharedMem data file, big-endian 90b6cee71dSXin LI>8 bequad <0x1000000 91b6cee71dSXin LI>>15 byte >2 \b, line size 2^%d byte 92b6cee71dSXin LI>>14 byte >2 \b, page size 2^%d byte 93b6cee71dSXin LI>>13 byte &1 94b6cee71dSXin LI>>>13 byte >1 \b, max fanout %d 95b6cee71dSXin LI0 lequad =0xc693dac5ed5e47c2 Hash::SharedMem data file, little-endian 96b6cee71dSXin LI>8 lequad <0x1000000 97b6cee71dSXin LI>>8 byte >2 \b, line size 2^%d byte 98b6cee71dSXin LI>>9 byte >2 \b, page size 2^%d byte 99b6cee71dSXin LI>>10 byte &1 100b6cee71dSXin LI>>>10 byte >1 \b, max fanout %d 101