1*0ee74395Schl# $OpenBSD: perl,v 1.3 2009/04/24 18:54:34 chl Exp $ 2380b5c7dSchl 3380b5c7dSchl#------------------------------------------------------------------------------ 4380b5c7dSchl# perl: file(1) magic for Larry Wall's perl language. 5380b5c7dSchl# 6*0ee74395Schl# The `eval' lines recognizes an outrageously clever hack. 7380b5c7dSchl# Keith Waclena <keith@cerberus.uchicago.edu> 8380b5c7dSchl# Send additions to <perl5-porters@perl.org> 9*0ee74395Schl0 search/1/b #!\ /bin/perl Perl script text executable 10*0ee74395Schl!:mime application/x-perl 11*0ee74395Schl0 search/1 eval\ "exec\ /bin/perl Perl script text 12*0ee74395Schl!:mime application/x-perl 13*0ee74395Schl0 search/1/b #!\ /usr/bin/perl Perl script text executable 14*0ee74395Schl!:mime application/x-perl 15*0ee74395Schl0 search/1 eval\ "exec\ /usr/bin/perl Perl script text 16*0ee74395Schl!:mime application/x-perl 17*0ee74395Schl0 search/1/b #!\ /usr/local/bin/perl Perl script text executable 18*0ee74395Schl!:mime application/x-perl 19*0ee74395Schl0 search/1 eval\ "exec\ /usr/local/bin/perl Perl script text 20*0ee74395Schl!:mime application/x-perl 21*0ee74395Schl0 search/1 eval\ '(exit\ $?0)'\ &&\ eval\ 'exec Perl script text 22*0ee74395Schl!:mime application/x-perl 23380b5c7dSchl 24380b5c7dSchl 25380b5c7dSchl# by Dmitry V. Levin and Alexey Tourbin 26380b5c7dSchl# check the first line 27*0ee74395Schl0 search/1 package 28*0ee74395Schl0 regex \^package[\ \t]+[A-Za-z_] 29*0ee74395Schl>0 regex \^package[\ \t]+[0-9A-Za-z_:]+\ *; Perl5 module source text 30380b5c7dSchl# not 'p', check other lines 31*0ee74395Schl0 search/1 !p 32380b5c7dSchl>0 regex \^package[\ \t]+[0-9A-Za-z_:]+\ *; 33380b5c7dSchl>>0 regex \^1\ *;|\^(use|sub|my)\ .*[(;{=] Perl5 module source text 34380b5c7dSchl 35380b5c7dSchl 36380b5c7dSchl 37380b5c7dSchl# Perl POD documents 38380b5c7dSchl# From: Tom Hukins <tom@eborcom.com> 39*0ee74395Schl0 search/1/B \=pod\n Perl POD document text 40*0ee74395Schl0 search/1/B \n\=pod\n Perl POD document text 41*0ee74395Schl0 search/1/B \=head1\ Perl POD document text 42*0ee74395Schl0 search/1/B \n\=head1\ Perl POD document text 43*0ee74395Schl0 search/1/B \=head2\ Perl POD document text 44*0ee74395Schl0 search/1/B \n\=head2\ Perl POD document text 45380b5c7dSchl 46380b5c7dSchl# Perl Storable data files. 47380b5c7dSchl0 string perl-store perl Storable (v0.6) data 48380b5c7dSchl>4 byte >0 (net-order %d) 49380b5c7dSchl>>4 byte &01 (network-ordered) 50380b5c7dSchl>>4 byte =3 (major 1) 51380b5c7dSchl>>4 byte =2 (major 1) 52380b5c7dSchl 53380b5c7dSchl0 string pst0 perl Storable (v0.7) data 54380b5c7dSchl>4 byte >0 55380b5c7dSchl>>4 byte &01 (network-ordered) 56380b5c7dSchl>>4 byte =5 (major 2) 57380b5c7dSchl>>4 byte =4 (major 2) 58380b5c7dSchl>>5 byte >0 (minor %d) 59