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@cerberus.uchicago.edu> 7 # Send additions to <perl5-porters@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@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@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