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