home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / misc / volume37 / perlref / part01 < prev    next >
Encoding:
Text File  |  1993-05-18  |  56.3 KB  |  1,009 lines

  1. Newsgroups: comp.sources.misc
  2. From: jv@mh.nl (Johan Vromans)
  3. Subject: v37i082:  perlref - Perl Reference Guide 4.036.1, Part01/03
  4. Message-ID: <csm-v37i082=perlref.142515@sparky.IMD.Sterling.COM>
  5. X-Md4-Signature: ea5540b05c1d47b85a4a152876782ad3
  6. Date: Wed, 19 May 1993 21:20:08 GMT
  7. Approved: kent@sparky.imd.sterling.com
  8.  
  9. Submitted-by: jv@mh.nl (Johan Vromans)
  10. Posting-number: Volume 37, Issue 82
  11. Archive-name: perlref/part01
  12. Environment: Perl v4.036
  13. Supersedes: perlref: Volume 32, Issue 1-4
  14.  
  15. Finally here it is: the new and updated version of the 
  16.  
  17.     Perl Reference Guide.
  18.  
  19. This version has been updated to match Perl 4.036.
  20.  
  21. As posted, the kit contains a ready-to-print PostScript version and
  22. a LaTeX source kit.
  23.  
  24. The Perl Reference Guide is a typeset quick reference guide to
  25. Larry Wall's Perl program.
  26.  
  27. It contains a concise description of all Perl 4.0 statements,
  28. functions, variables and lots of other useful information. 
  29. The Guide is based on Perl version 4.0, patchlevel 36.
  30.  
  31. The purpose of the Reference Guide is to aid in the use of Perl, to
  32. look up the syntax of specific functions, statements and the meaning
  33. of built-in variables.  It is *NOT* a self-contained user guide -
  34. basic knowledge of the Perl language is required. It is *NOT* complete
  35. - some of the more obscure variants of perl constructs have been left
  36. out.  But all functions and variables are mentioned in at least one
  37. way they can be used.
  38.  
  39. Happy hacking!
  40.  
  41.     Johan
  42. -----------------------------------------------------
  43. #! /bin/sh
  44. # This is a shell archive.  Remove anything before this line, then feed it
  45. # into a shell via "sh file" or similar.  To overwrite existing files,
  46. # type "sh file -c".
  47. # Contents:  README Layout refbase.ps.A
  48. # Wrapped by kent@sparky on Wed May 19 14:08:36 1993
  49. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  50. echo If this archive is complete, you will see the following message:
  51. echo '          "shar: End of archive 1 (of 3)."'
  52. if test -f 'README' -a "${1}" != "-c" ; then 
  53.   echo shar: Will not clobber existing file \"'README'\"
  54. else
  55.   echo shar: Extracting \"'README'\" \(6591 characters\)
  56.   sed "s/^X//" >'README' <<'END_OF_FILE'
  57. X                 INTRODUCTION
  58. X                 ============
  59. X
  60. X             The Perl 4.0 Reference Guide
  61. X
  62. X            Revised: 93/05/18
  63. X
  64. XThe Perl Reference Guide is a typeset quick reference guide to
  65. XLarry Wall's Perl program.
  66. X
  67. XIt contains a concise description of all Perl 4.0 statements,
  68. Xfunctions, variables and lots of other useful information. 
  69. XThe Guide is based on Perl version 4.0, patchlevel 36.
  70. X
  71. XThe purpose of the Reference Guide is to aid in the use of Perl, to
  72. Xlook up the syntax of specific functions, statements and the meaning
  73. Xof built-in variables.  It is *NOT* a self-contained user guide -
  74. Xbasic knowledge of the Perl language is required. It is *NOT* complete
  75. X- some of the more obscure variants of perl constructs have been left
  76. Xout.  But all functions and variables are mentioned in at least one
  77. Xway they can be used.
  78. X
  79. XThe Reference Guide is designed and created by Johan Vromans using the
  80. XLaTex typesetting system. For best results, Tom Rockiki's dvips 5.47
  81. Xshould be used to generate the PostScript output.
  82. XYour mileage may vary when you use other ouput mechanisms.
  83. X
  84. XA special formatting tool, written in Perl, makes it possible to
  85. Xreformat this PostScript output for reproduction in a number of
  86. Xformats.  If you cannot run this tool, you do not need the
  87. Xinformation either.
  88. X
  89. XThe version number of the Reference Guide is coupled to the version of
  90. XPerl, e.g. 4.019.2 means: the third release suitable for perl 4
  91. Xpatchlevel 19. 
  92. X
  93. XINSTALLATION
  94. X============
  95. X
  96. X 1. Unload the distribution
  97. X
  98. X    After unloading the distribution, you will have the following files:
  99. X
  100. X    README        - this file
  101. X    ChangeLog   - description of changes
  102. X    Makefile    - make file
  103. X    parr        - reformat and rearrange tool
  104. X    Layout        - description of the format
  105. X    MANIFEST    - a list of files
  106. X    refbase.tex - LaTeX source for the Reference Guide
  107. X    refbase.sty - LaTeX style for the Reference Guide
  108. X    refbase.ps  - pre-generated PostScript base
  109. X
  110. X 2. Create the PostScript base file
  111. X
  112. X    You can skip this step if you already have a pre-generated
  113. X    PostScript base file.
  114. X    This step requires the LaTeX typesetting system, and dvips version
  115. X    5.47 or later.
  116. X
  117. X    - Use "make refbase-ps" (a dash, not a dot) to create a new
  118. X      PostScript file from the LaTeX source. This file can be printed
  119. X      normally. 
  120. X
  121. X    NOTE: dvips must be instructed to use a4 format paper ('-t a4')
  122. X      even if you intend to print on a different format!
  123. X
  124. X 3. Create the RefGuide from the PostScript base
  125. X
  126. X    As distributed, the Makefile is configured to generate output for
  127. X    A4 (21 x 29.7 cm) paper format. Use "make PAPER= ..." to select US
  128. X    Letter (8.5 x 11") format.  Both formats should be printable on
  129. X    all industry-standard PostScript printers.
  130. X
  131. X    You can use "make" to generate a new PostScript file for one of
  132. X    the following formats:
  133. X
  134. X     - Use "make refguide.ps" to create a guide formatted in 10 pages
  135. X       of 2-column text. It should be printed double-sided, stapled in
  136. X       the middle, folded, and cut to size to have a 16-page 3.5 x 8"
  137. X       booklet.
  138. X
  139. X     - Use "make 2pass" to create a set of odd and even pages for
  140. X       double sided printing. First print "guide-odd.ps". Then put the
  141. X       paper back in the tray, and print either "guide-even1.ps" or
  142. X       "guide-even2.ps", depending on the way your printer arranges
  143. X       the printed paper.
  144. X       "guide-even1.ps" is for printers with correct output stacking like
  145. X       Apple LaserWriter II. 
  146. X       "guide-even2.ps" is for printers with reverse output stacking,
  147. X       like old Apple LaserWriters. 
  148. X       In other words, after printing "guide-odd.ps", if the
  149. X       text of the cover page is on top -- use "guide-even1.ps".
  150. X       But if you're looking at the text of pages 9/10 -- use
  151. X       "guide-even2.ps". 
  152. X
  153. X    "make" without arguments will default to refguide.ps .
  154. X
  155. X    If your printout is not correct, feel free to change the figures in
  156. X    subroutine 'twoup' of the 'parr' program. The file Layout
  157. X    describes in more detail how the Guide should look like.
  158. X
  159. X    On printers that support it, duplex printing is done.
  160. X
  161. XComments are welcome, send them to the author.
  162. X
  163. XIF YOU DON'T HAVE A POSTSCRIPT PRINTER
  164. X======================================
  165. X
  166. XLook in perlref.sty for comments with ">>>>" as a guide.  The output
  167. Xwill not be as perfect, but still very useful.
  168. X
  169. XHISTORY
  170. X=======
  171. X
  172. XThe first version of the Reference Guide --"reference card" is was
  173. Xcalled then-- appeared in 1989 with perl version 2.0. It was created
  174. Xusing an Apple Macintosh and the RagTime DeskTop publishing tool.
  175. XIt was 9 pages, I believe. The PostScript output was extracted from
  176. Xthe Mac and hacked for 'normal' use with the macps program.
  177. X
  178. XWith perl version 3 came the next version. A 15-page card format, and
  179. Xa 16-page reference guide. This time, the Guide was created using
  180. XMicroSoft Word, still on Macintosh. Tools were supplied to manipulate
  181. Xthe PostScript file to suit different printing formats.
  182. XIn a later version, the card format was abandoned.
  183. X
  184. XNext came the Camel version, with perl 4.0. Lots of measurements had
  185. Xbeen taken to have the abundance of new functions fit on 16 pages.
  186. X
  187. XAfter the book appeared, I decided to rework the Guide to use more
  188. Xpages, and different styles and fonts for clarity. I reworked the
  189. XMS-Word version, to find out that the resultant PostScript file had
  190. Xincreased from 90Kb to 180Kb! 
  191. XSo I decided to start again, from scratch (well, almost) using the
  192. XLaTeX typesetting system. The resultant PostScript file is now 80Kb,
  193. Xwhile it prints out almost identical to the 180Kb MS-Word version.
  194. X
  195. XCREDITS
  196. X=======
  197. X
  198. XThe Perl Reference Guide is copyrighted by the author. It may be
  199. Xreproduced, printed and distributed freely, as long as the original
  200. Xauthor gets the credits, and the copyright notice is not removed from
  201. Xthe text. It may not be turned into a commercial product except with
  202. Xwritten permission of the author.
  203. X
  204. X---------------------------- author info -----------------------------
  205. X                Johan Vromans
  206. X Multihouse Research, Doesburgweg 7, 2803 PL  Gouda, the Netherlands
  207. X           tel. +31 1820 62911, fax. +31 1820 62500
  208. X              email: <jv@mh.nl>
  209. X----------------------------------------------------------------------
  210. X
  211. XI like to thank everyone who has helped me (and encouraged me) to get
  212. Xthe job done, and to get the results to you. Especially Tom
  213. XChristiansen and JGreely (for "parr") And Larry Wall, of course,
  214. Xwithout whom I would have spent lots of time annoying myself.
  215. X
  216. XFor a japanese version of the reference guide, please contact 
  217. XYoshiyuki KONDO <cond@lsi-j.co.jp>.
  218. X
  219. X-- PostScript is a trademark of Adobe, I assume.
  220. X@(#)@ README    4.2.6
  221. END_OF_FILE
  222.   if test 6591 -ne `wc -c <'README'`; then
  223.     echo shar: \"'README'\" unpacked with wrong size!
  224.   fi
  225.   # end of 'README'
  226. fi
  227. if test -f 'Layout' -a "${1}" != "-c" ; then 
  228.   echo shar: Will not clobber existing file \"'Layout'\"
  229. else
  230.   echo shar: Extracting \"'Layout'\" \(1112 characters\)
  231.   sed "s/^X//" >'Layout' <<'END_OF_FILE'
  232. XThis is the layout of the pages of the reference guide
  233. X
  234. X
  235. X            center of paper
  236. X              |
  237. X    +-----------------+-----------------+
  238. X    |                           <----------- top margin
  239. X    |     xxxxxxxxxx  :  xxxxxxxxxx     |
  240. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  241. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  242. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  243. X    |     xxxxxxxxxx     xxxxxxxxxx  <------ right margin
  244. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  245. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  246. X    | ^   xxxxxxxxxx     xxxxxxxxxx     |
  247. X    | |   xxxxxxxxxx     xxxxxxxxxx     |
  248. X    | |   xxxxxxxxxx  :  xxxxxxxxxx     |
  249. X    | |                                 |
  250. X    +-|---------------------------------+
  251. X      |
  252. X     left margin
  253. X
  254. X
  255. XThese are the values:
  256. X            A4 (cm)        US Letter (inch)
  257. X    text width         9.0        3.5        same for both
  258. X    text height        19.2        7.5        same for both
  259. X    top margin          1.0        0.5
  260. X    left margin         4.9        1.6
  261. X    right margin     4.9        1.6
  262. X    space between     2.0        0.8        same for both
  263. X
  264. XAfter printing double-sided, the pages can be stapled (the ":" in the
  265. Xpicture), folded, and the excess margins cut off. Personally, I cut it
  266. Xto 10.6 cm (4.2 inch).
  267. END_OF_FILE
  268.   if test 1112 -ne `wc -c <'Layout'`; then
  269.     echo shar: \"'Layout'\" unpacked with wrong size!
  270.   fi
  271.   # end of 'Layout'
  272. fi
  273. if test -f 'refbase.ps.A' -a "${1}" != "-c" ; then 
  274.   echo shar: Will not clobber existing file \"'refbase.ps.A'\"
  275. else
  276.   echo shar: Extracting \"'refbase.ps.A'\" \(45310 characters\)
  277.   sed "s/^X//" >'refbase.ps.A' <<'END_OF_FILE'
  278. X%!PS-Adobe-2.0
  279. X%%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software
  280. X%%Title: refbase.dvi
  281. X%%Pages: 21 1
  282. X%%BoundingBox: 0 0 596 843
  283. X%%DocumentFonts: Helvetica-BoldOblique Helvetica-Bold Times-Roman Courier-Bold
  284. X%%+ Helvetica Times-Italic
  285. X%%EndComments
  286. X%%BeginProcSet: tex.pro
  287. X/TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch
  288. Xload def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{
  289. Xisls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
  290. XResolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get
  291. Xround 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10
  292. XN}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{
  293. X/vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{
  294. Xstatusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N
  295. X/FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin
  296. X/FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array
  297. X/BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2
  298. Xarray copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}
  299. XB /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont
  300. Xsetfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup
  301. Xlength 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{
  302. Xch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B
  303. X/ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0
  304. XN /rw 0 N /rc 0 N /gp 0 N /cp 0 N /G 0 N /sf 0 N /CharBuilder{save 3 1 roll S
  305. Xdup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0
  306. Xch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
  307. Xch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}
  308. Ximagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr
  309. Xput nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf
  310. Xdiv put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook
  311. Xknown{bop-hook}if /SI save N @rigin 0 0 moveto}N /eop{clear SI restore
  312. Xshowpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
  313. Xknown{start-hook}if /VResolution X /Resolution X 1000 div /DVImag X /IE 256
  314. Xarray N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for}N /p /show load N
  315. X/RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X
  316. X/rulex X V}B /V statusdict begin /product where{pop product dup length 7 ge{0
  317. X7 getinterval(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1
  318. XTR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1
  319. X-.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{
  320. Xmoveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{
  321. XS p tail}B /c{-4 M}B /d{-3 M}B /e{-2 M}B /f{-1 M}B /g{0 M}B /h{1 M}B /i{2 M}B
  322. X/j{3 M}B /k{4 M}B /w{0 rmoveto}B /l{p -4 w}B /m{p -3 w}B /n{p -2 w}B /o{p -1 w
  323. X}B /q{p 1 w}B /r{p 2 w}B /s{p 3 w}B /t{p 4 w}B /x{0 S rmoveto}B /y{3 2 roll p
  324. Xa}B /bos{/SS save N}B /eos{clear SS restore}B end
  325. X%%EndProcSet
  326. X%%BeginProcSet: texps.pro
  327. XTeXDict begin /rf{655360 div mul Resolution mul 7227 div /PixPerEm X findfont
  328. Xdup length 1 add dict /nn X{1 index /FID ne{nn 3 1 roll put}{pop pop}ifelse}
  329. Xforall 256 dict begin nn /Encoding get 0 1 255{2 copy get 3 index 2 index get
  330. X1000 mul PixPerEm div def pop}for pop pop nn /Metrics currentdict put end
  331. X/fontname X /nn dup nn definefont[PixPerEm 0 0 PixPerEm neg 0 0]makefont N
  332. Xfontname{/foo setfont}2 array copy cvx N fontname load 0 nn put}N
  333. X/ObliqueSlant{dup sin S cos div neg}B /SlantFont{/foo X[1 0 foo 1 0 0]
  334. XTransFont}N /ExtendFont{/foo X 3 2 roll[S{foo div}forall]3 1 roll[foo 0 0 1 0
  335. X0]TransFont}N /TransFont{S findfont S makefont dup length dict /nn X{1 index
  336. X/FID ne{nn 3 1 roll put}{pop pop}ifelse}forall dup nn definefont pop}N end
  337. X%%EndProcSet
  338. XTeXDict begin 1000 300 300 @start /Fa [ 0 0 0 0 0 0 0 0 0 0
  339. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 25 25 25 25
  340. X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
  341. X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
  342. X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
  343. X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
  344. X25 25 25 25 25 25 25 25 25 25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  345. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 25 25 25 25 25 25
  346. X25 25 25 25 25 25 0 0 0 25 25 25 25 0 25 25 25 25 25 25 25
  347. X0 0 25 0 25 25 25 25 25 25 25 25 0 25 25 0 25 25 25 25 0 0
  348. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 25 0 0 0 0 25 25 0 25 0 0 0
  349. X0 0 0 0 0 0 25 0 0 25 25 0 25 0 0 0 0 ] /Courier-Bold 1000
  350. X655360 rf /Fb 1 26 df<07FFFE001FFFFF003FFFFF007FFFFE0070630000C0C3000080C70000
  351. X00C6000001C600000186000003860000038F0000038F0000070F0000070F00000F0F00000F0780
  352. X001E0780001E0780000C03000019147F931A>25 D E /Fc [ 0 0 0 0 0
  353. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 11 15
  354. X19 23 23 38 36 15 15 15 23 31 11 15 11 13 23 23 23 23 23 23
  355. X23 23 23 23 15 15 31 31 31 23 42 28 28 30 33 28 28 33 33 15
  356. X20 30 25 38 30 33 28 33 28 23 25 33 28 38 28 25 25 18 13 18
  357. X19 23 15 23 23 20 23 20 13 23 23 13 13 20 13 33 23 23 23 23
  358. X18 18 13 23 20 30 20 20 18 18 13 18 25 0 0 0 0 0 0 0 0 0 0
  359. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 23 23 8
  360. X23 23 23 23 10 25 23 15 15 23 23 0 23 23 23 11 0 24 16 15 25
  361. X25 23 41 46 0 23 0 15 15 15 15 15 15 15 15 0 15 15 0 15 15
  362. X15 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 0 13 0 0 0 0 25 33
  363. X43 14 0 0 0 0 0 30 0 0 0 13 0 0 13 23 30 23 0 0 0 0 ] /Times-Italic
  364. X1000 720896 rf /Fd [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  365. X0 0 0 0 0 0 0 0 0 0 0 0 0 12 14 20 23 23 37 30 12 14 14 16
  366. X24 12 14 12 12 23 23 23 23 23 23 23 23 23 23 14 14 24 24 24
  367. X25 40 30 30 30 30 28 25 32 30 12 23 30 25 35 30 32 28 32 30
  368. X28 25 30 28 39 28 28 25 14 12 14 24 23 12 23 25 23 25 23 14
  369. X25 25 12 12 23 12 37 25 25 25 25 16 23 14 25 23 32 23 23 21
  370. X16 12 16 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  371. X0 0 0 0 0 0 0 0 0 0 14 23 23 7 23 23 23 23 10 21 23 14 14 25
  372. X25 0 23 23 23 12 0 23 15 12 21 21 23 42 42 0 25 0 14 14 14
  373. X14 14 14 14 14 0 14 14 0 14 14 14 42 0 0 0 0 0 0 0 0 0 0 0
  374. X0 0 0 0 0 42 0 15 0 0 0 0 25 32 42 15 0 0 0 0 0 37 0 0 0 12
  375. X0 0 12 25 39 25 0 0 0 0 ] /Helvetica-Bold 1000 655360 rf /Fe
  376. X2 122 df<0003FF0000000FFFC000003E01F00000F8007C0001E0001E00038000070007000003
  377. X800E000001C00C000000C01C000000E03800000070300000003030000000307000000038600000
  378. X00186000000018E00000001CC00000000CC00000000CC00000000CC00000000CC00000000CC000
  379. X00000CC00000000CC00000000CC00000000CE00000001C60000000186000000018700000003830
  380. X00000030300000003038000000701C000000E00C000000C00E000001C007000003800380000700
  381. X01E0001E0000F8007C00003E01F000000FFFC0000003FF0000262B7DA02D>13
  382. XD<03000780078007800780078007800300030003007B78FFFCFFFC7B7803000300078007800780
  383. X078007800780078007800780078007800780078007800780078007800780078003000300030003
  384. X000300030003000E2A7D9F15>121 D E /Ff [ 0 0 0 0 0 0 0 0 0 0
  385. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 12 15 23 23
  386. X37 28 9 14 14 16 24 12 14 12 12 23 23 23 23 23 23 23 23 23
  387. X23 12 12 24 24 24 23 42 28 28 30 30 28 25 32 30 12 21 28 23
  388. X35 30 32 28 32 30 28 25 30 28 39 28 28 25 12 12 12 19 23 9
  389. X23 23 21 23 23 12 23 23 9 9 21 9 35 23 23 23 23 14 21 12 23
  390. X21 30 21 21 21 14 11 14 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  391. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14 23 23 7 23 23 23 23
  392. X8 14 23 14 14 21 21 0 23 23 23 12 0 22 15 9 14 14 23 42 42
  393. X0 25 0 14 14 14 14 14 14 14 14 0 14 14 0 14 14 14 42 0 0 0
  394. X0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 15 0 0 0 0 23 32 42 15 0 0 0
  395. X0 0 37 0 0 0 12 0 0 9 25 39 25 0 0 0 0 ] /Helvetica 1000 655360
  396. Xrf /Fg [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  397. X0 0 0 0 0 0 0 14 17 24 28 28 44 36 14 17 17 19 29 14 17 14
  398. X14 28 28 28 28 28 28 28 28 28 28 17 17 29 29 29 30 49 36 36
  399. X36 36 33 30 39 36 14 28 36 30 41 36 39 33 39 36 33 30 36 33
  400. X47 33 33 30 17 14 17 29 28 14 28 30 28 30 28 17 30 30 14 14
  401. X28 14 44 30 30 30 30 19 28 17 30 28 39 28 28 25 19 14 19 29
  402. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  403. X0 0 0 0 17 28 28 8 28 28 28 28 12 25 28 17 17 30 30 0 28 28
  404. X28 14 0 28 17 14 25 25 28 50 50 0 30 0 17 17 17 17 17 17 17
  405. X17 0 17 17 0 17 17 17 50 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50
  406. X0 18 0 0 0 0 30 39 50 18 0 0 0 0 0 44 0 0 0 14 0 0 14 30 47
  407. X30 0 0 0 0 ] /Helvetica-BoldOblique 1000 786432 rf /Fh [ 0
  408. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  409. X0 10 14 17 21 21 35 32 14 14 14 21 23 10 14 10 12 21 21 21
  410. X21 21 21 21 21 21 21 12 12 23 23 23 18 38 30 28 28 30 25 23
  411. X30 30 14 16 30 25 37 30 30 23 30 28 23 25 30 30 39 30 30 25
  412. X14 12 14 19 21 14 18 21 18 21 18 14 21 21 12 12 21 12 32 21
  413. X21 21 21 14 16 12 21 21 30 21 21 18 20 8 20 22 0 0 0 0 0 0
  414. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 14
  415. X21 21 7 21 21 21 21 7 18 21 14 14 23 23 0 21 21 21 10 0 19
  416. X15 14 18 18 21 42 42 0 18 0 14 14 14 14 14 14 14 14 0 14 14
  417. X0 14 14 14 42 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 37 0 11 0 0 0
  418. X0 25 30 37 13 0 0 0 0 0 28 0 0 0 12 0 0 12 21 30 21 0 0 0 0
  419. X] /Times-Roman 1000 655360 rf /Fi [ 0 0 0 0 0 0 0 0 0 0 0 0
  420. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 27 27 27 27 27 27
  421. X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
  422. X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
  423. X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
  424. X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
  425. X27 27 27 27 27 27 27 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  426. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 27 27 27 27 27 27 27 27 27
  427. X27 27 27 27 0 0 0 27 27 27 27 0 27 27 27 27 27 27 27 0 0 27
  428. X0 27 27 27 27 27 27 27 27 0 27 27 0 27 27 27 27 0 0 0 0 0 0
  429. X0 0 0 0 0 0 0 0 0 0 0 0 27 0 0 0 0 27 27 0 27 0 0 0 0 0 0 0
  430. X0 0 27 0 0 27 27 0 27 0 0 0 0 ] /Courier-Bold 1000 720896 rf
  431. X/Fj [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  432. X0 0 0 0 0 11 15 19 23 23 38 36 15 15 15 23 26 11 15 11 13 23
  433. X23 23 23 23 23 23 23 23 23 13 13 26 26 26 20 42 33 30 30 33
  434. X28 25 33 33 15 18 33 28 41 33 33 25 33 30 25 28 33 33 43 33
  435. X33 28 15 13 15 21 23 15 20 23 20 23 20 15 23 23 13 13 23 13
  436. X36 23 23 23 23 15 18 13 23 23 33 23 23 20 22 9 22 25 0 0 0
  437. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  438. X0 15 23 23 8 23 23 23 23 8 20 23 15 15 25 25 0 23 23 23 11
  439. X0 21 16 15 20 20 23 46 46 0 20 0 15 15 15 15 15 15 15 15 0
  440. X15 15 0 15 15 15 46 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 41 0 13
  441. X0 0 0 0 28 33 41 14 0 0 0 0 0 30 0 0 0 13 0 0 13 23 33 23 0
  442. X0 0 0 ] /Times-Roman 1000 720896 rf /Fk [ 0 0 0 0 0 0 0 0 0
  443. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 13 15 22 25 25
  444. X41 33 13 15 15 18 27 13 15 13 13 25 25 25 25 25 25 25 25 25
  445. X25 15 15 27 27 27 28 45 33 33 33 33 30 28 36 33 13 25 33 28
  446. X38 33 36 30 36 33 30 28 33 30 43 30 30 28 15 13 15 27 25 13
  447. X25 28 25 28 25 15 28 28 13 13 25 13 41 28 28 28 28 18 25 15
  448. X28 25 36 25 25 23 18 13 18 27 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  449. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 15 25 25 8 25 25 25 25
  450. X11 23 25 15 15 28 28 0 25 25 25 13 0 25 16 13 23 23 25 46 46
  451. X0 28 0 15 15 15 15 15 15 15 15 0 15 15 0 15 15 15 46 0 0 0
  452. X0 0 0 0 0 0 0 0 0 0 0 0 0 46 0 17 0 0 0 0 28 36 46 17 0 0 0
  453. X0 0 41 0 0 0 13 0 0 13 28 43 28 0 0 0 0 ] /Helvetica-Bold 1000
  454. X720896 rf /Fl [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  455. X0 0 0 0 0 0 0 0 0 0 20 23 33 39 39 63 51 20 23 23 27 41 20
  456. X23 20 20 39 39 39 39 39 39 39 39 39 39 23 23 41 41 41 43 69
  457. X51 51 51 51 47 43 55 51 20 39 51 43 59 51 55 47 55 51 47 43
  458. X51 47 67 47 47 43 23 20 23 41 39 20 39 43 39 43 39 23 43 43
  459. X20 20 39 20 63 43 43 43 43 27 39 23 43 39 55 39 39 35 27 20
  460. X27 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  461. X0 0 0 0 0 0 0 23 39 39 12 39 39 39 39 17 35 39 23 23 43 43
  462. X0 39 39 39 20 0 39 25 20 35 35 39 71 71 0 43 0 23 23 23 23
  463. X23 23 23 23 0 23 23 0 23 23 23 71 0 0 0 0 0 0 0 0 0 0 0 0 0
  464. X0 0 0 71 0 26 0 0 0 0 43 55 71 26 0 0 0 0 0 63 0 0 0 20 0 0
  465. X20 43 67 43 0 0 0 0 ] /Helvetica-BoldOblique 1000 1114112 rf
  466. Xend
  467. X%%EndProlog
  468. X%%BeginSetup
  469. X%%Feature: *Resolution 300
  470. XTeXDict begin @a4
  471. X%%EndSetup
  472. X%%Page: 0 1
  473. Xbop eop
  474. X%%Page: 0 2
  475. Xbop 591 341 a Fl(Perl)20 b(Reference)h(Guide)p 591 362 1264
  476. X2 v 591 462 a Fk(for)12 b(Perl)h(version)g(4.036)591 645 y
  477. XFj(Perl)f(program)f(designed)f(and)i(created)g(by)591 701 y(Larry)f(W)l(all)h
  478. XFi(<)p Fj(lwall@netlabs.com)p Fi(>)591 884 y Fj(Reference)h(guide)e(designed)
  479. Xg(and)g(created)h(by)591 941 y(Johan)e(V)m(romans)i Fi(<)p
  480. XFj(jv@mh.nl)p Fi(>)591 1161 y Fl(Contents)p 591 1182 V 639
  481. X1283 a Fj(1.)21 b(Command)11 b(line)g(options)639 1339 y(2.)21
  482. Xb(Literals)639 1396 y(3.)g(V)-5 b(ariables)639 1452 y(4.)21
  483. Xb(Statements)639 1509 y(5.)g(Flow)12 b(control)639 1565 y(6.)21
  484. Xb(Operators)639 1621 y(7.)g(File)12 b(test)f(operators)639
  485. X1678 y(8.)21 b(Arithmetic)11 b(functions)639 1734 y(9.)21 b(Conversion)11
  486. Xb(functions)616 1791 y(10.)21 b(Structure)12 b(conversion)616
  487. X1847 y(11.)21 b(String)11 b(functions)616 1904 y(12.)21 b(Array)12
  488. Xb(and)g(list)e(functions)616 1960 y(13.)21 b(File)12 b(operations)616
  489. X2017 y(14.)21 b(Directory)12 b(reading)f(routines)616 2073
  490. Xy(15.)21 b(Input)11 b(/)g(Output)616 2130 y(16.)21 b(Search)13
  491. Xb(and)e(replace)i(functions)616 2186 y(17.)21 b(System)11 b(interaction)616
  492. X2242 y(18.)21 b(Networking)616 2299 y(19.)g(SystemV)11 b(IPC)616
  493. X2355 y(20.)21 b(Miscellaneous)616 2412 y(21.)g(Formats)616
  494. X2468 y(22.)g(Info)12 b(from)f(system)f(\256les)616 2525 y(23.)21
  495. Xb(Regular)12 b(expressions)616 2581 y(24.)21 b(Special)12 b(variables)616
  496. X2638 y(25.)21 b(Special)12 b(arrays)616 2694 y(26.)21 b(The)12
  497. Xb(perl)f(debugger)616 2751 y(27.)21 b(Environment)10 b(variables)591
  498. X2933 y Fh(Rev)m(.)g(4.036.1)p eop
  499. X%%Page: 1 3
  500. Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  501. X3 v 354 0 a Fl(Conventions)p 354 21 1512 2 v 354 121 a Fi(fixed)102
  502. Xb Fj(denotes)10 b(literal)h(text.)354 186 y Ff(THIS)142 b Fj(means)11
  503. Xb(variable)g(text,)g(i.e.)i(things)d(you)h(must)f(\256ll)h(in.)354
  504. X251 y Ff(THIS)p Fe(y)121 b Fj(means)11 b(that)g Ff(THIS)g Fj(will)f(default)h
  505. X(to)g Fi($_)h Fj(if)g(omitted.)354 315 y Fd(word)139 b Fj(is)10
  506. Xb(a)i(keyword,)g(i.e.)g(a)g(word)f(with)f(a)i(special)f(meaning.)p
  507. X354 337 112 2 v 354 393 2 56 v 368 380 a Ff(RET)p 464 393 V
  508. X354 395 112 2 v 140 w Fj(denotes)f(pressing)h(a)h(keyboard)f(key)m(.)354
  509. X445 y([.)d(.)g(.)h(])149 b(denotes)10 b(an)i(optional)e(part.)354
  510. X510 y(\(.)e(.)g(.)h(\)*)126 b(means)11 b(that)g(the)g(parentheses)g(may)g(be)
  511. Xh(omitted.)355 635 y Fl(1.)19 b(Command)h(line)f(options)p
  512. X355 656 1512 2 v 354 757 a Fi(-a)64 b Fj(turns)11 b(on)g(autosplit)f(mode)h
  513. X(when)g(used)g(with)g Fi(-n)h Fj(or)g Fi(-p)p Fj(.)g(Splits)f(to)g
  514. XFi(@F)p Fj(.)354 821 y Fi(-c)64 b Fj(checks)12 b(syntax)f(but)g(does)g(not)f
  515. X(execute.)354 886 y Fi(-d)64 b Fj(runs)11 b(the)g(script)f(under)h(the)g
  516. X(debugger)m(.)h(Use)f Fi(-de)28 b(0)12 b Fj(to)e(start)h(the)g(debugger)g
  517. X(without)472 943 y(a)h(script.)354 1007 y Fi(-D)h Ff(NUMBER)472
  518. X1064 y Fj(sets)e(debugging)g(\257ags.)354 1129 y Fi(-e)i Ff(COMMANDLINE)472
  519. X1185 y Fj(may)e(be)h(used)f(to)g(enter)h(one)f(line)g(of)g(script.)h
  520. X(Multiple)d Fi(-e)k Fj(commands)d(may)h(be)472 1241 y(given)g(to)g(build)g
  521. X(up)g(a)g(multi-line)f(script.)354 1306 y Fi(-i)j Ff(EXT)472
  522. X1363 y Fj(\256les)f(processed)f(by)h(the)f Fi(<>)h Fj(construct)f(are)h(to)f
  523. X(be)g(edited)g(in-place.)354 1427 y Fi(-I)i Ff(DIR)472 1484
  524. Xy Fj(with)e Fi(-P)p Fj(:)h(tells)e(the)i(C)g(preprocessor)f(where)h(to)f
  525. X(look)g(for)g(include)g(\256les.)h(The)472 1540 y(directory)g(is)f(prepended)
  526. Xg(to)g Fi(@INC)p Fj(.)354 1605 y Fi(-l)i Fj([)e Ff(OCTNUM)h
  527. XFj(])472 1662 y(enables)g(automatic)e(line)h(ending)g(processing,)g(e.g.)h
  528. XFi(-l013)p Fj(.)354 1726 y Fi(-n)64 b Fj(assumes)11 b(an)h(input)e(loop)g
  529. X(around)i(your)f(script.)g(Lines)g(are)h(not)f(printed.)354
  530. X1791 y Fi(-p)64 b Fj(assumes)11 b(an)h(input)e(loop)g(around)i(your)f
  531. X(script.)g(Lines)g(are)h(printed.)354 1856 y Fi(-P)64 b Fj(runs)11
  532. Xb(the)h(C)g(preprocessor)f(on)g(the)h(script)e(before)i(compilation)e(by)h
  533. X(perl.)354 1921 y Fi(-s)64 b Fj(interprets)11 b(\252)p Fi(-xxx)p
  534. XFj(\272)j(on)d(the)g(command)g(line)g(as)g(switches)g(and)g(sets)g(the)472
  535. X1977 y(corresponding)g(variables)g Fi($)q(xxx)h Fj(in)f(the)h(script.)354
  536. X2042 y Fi(-S)64 b Fj(uses)11 b(the)h Fi(PATH)h Fj(environment)d(variable)h
  537. X(to)g(search)h(for)g(the)f(script.)354 2107 y Fi(-u)64 b Fj(dumps)11
  538. Xb(core)h(after)g(compiling)d(the)j(script.)f(T)m(o)g(be)g(used)g(with)g(the)g
  539. XFc(undump)g Fj(program)472 2163 y(\(where)i(available\).)354
  540. X2228 y Fi(-U)64 b Fj(allows)11 b(perl)h(to)e(do)i(unsafe)f(operations.)354
  541. X2293 y Fi(-v)64 b Fj(prints)11 b(the)g(version)g(and)g(patchlevel)g(of)h
  542. X(your)f(perl)g(executable.)354 2357 y Fi(-w)64 b Fj(prints)11
  543. Xb(warnings)g(about)g(possible)f(spelling)g(errors)i(and)f(other)g(error)o
  544. X(-prone)472 2414 y(constructs)g(in)g(the)g(script.)354 2479
  545. Xy Fi(-x)64 b Fj(extracts)12 b(perl)f(program)g(from)h(input)e(stream.)354
  546. X2543 y Fi(-0)j Ff(V)m(AL)472 2600 y Fj(\(that')m(s)f(the)f(number)g(zero\))h
  547. X(designates)f(an)h(initial)e(value)h(for)g(the)h(record)g(terminator)472
  548. X2656 y Fi($)q(/)p Fj(.)g(See)g(also)f Fi(-l)p Fj(.)p 354 3018
  549. X1512 3 v 354 3065 a Fg(1)p eop
  550. X%%Page: 2 4
  551. Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  552. X3 v 355 -2 a Fl(2.)19 b(Literals)p 355 19 1512 2 v 354 119
  553. Xa Fj(Numeric:)11 b Fi(123)56 b(1_234)h(123.4)g(5E-10)g(0xff)13
  554. Xb Fj(\(hex\))55 b Fi(0377)13 b Fj(\(octal\).)354 184 y(String:)e
  555. XFi('abc')i Fj(literal)e(string,)g(no)g(variable)h(interpolation)e(nor)h
  556. X(escape)h(characters,)591 241 y(except)f Fi(\\')h Fj(and)g
  557. XFi(\\\\)p Fj(.)g(Also:)f Fi(q/abc/)p Fj(.)591 297 y(\(Almost)f(any)h(pair)g
  558. X(of)h(delimiters)e(can)i(be)f(used)g(instead)g(of)h Fi(/.../)p
  559. XFj(.\))472 362 y Fi("abc")i Fj(V)-5 b(ariables)11 b(are)h(interpolated)f(and)
  560. Xg(escape)h(sequences)g(are)g(processed.)591 418 y(Also:)e Fi(qq/abc/)p
  561. XFj(.)591 475 y(Escape)h(sequences:)h Fi(\\t)g Fj(\(T)m(ab\),)g
  562. XFi(\\n)g Fj(\(Newline\),)g Fi(\\r)g Fj(\(Return\),)h Fi(\\f)591
  563. X531 y Fj(\(Formfeed\),)f Fi(\\b)h Fj(\(Backspace\),)g Fi(\\a)f
  564. XFj(\(Alarm\),)g Fi(\\e)g Fj(\(Escape\),)h Fi(\\033)p Fj(\(octal\),)591
  565. X588 y Fi(\\x1b)p Fj(\(hex\),)g Fi(\\c[)g Fj(\(control\).)591
  566. X644 y Fi(\\l)f Fj(and)f Fi(\\u)h Fj(lowcase/upcase)g(the)f(following)f
  567. X(character;)591 701 y Fi(\\L)i Fj(and)f Fi(\\U)h Fj(lowcase/upcase)g(until)e
  568. X(a)i Fi(\\E)g Fj(is)f(encountered.)472 765 y Fi(`)p Ff(COMMAND)p
  569. XFi(`)h Fj(evaluates)f(to)g(the)g(output)f(of)i(the)f Ff(COMMAND)p
  570. XFj(.)591 822 y(Also:)f Fi(qx/)p Ff(COMMAND)p Fi(/)p Fj(.)354
  571. X887 y(Array:)i Fi(\(1,2,3\))p Fj(.)j Fi(\(\))d Fj(is)f(an)g(empty)g(array)m
  572. X(.)472 943 y(Also:)g Fi(\($a,$b,@re)q(st)q(\))30 b(=)e(\(1,2,...\))q(;)472
  573. X999 y(\(1..4\))14 b Fj(is)d(the)g(same)h(as)f Fi(\(1,2,3,4\))q
  574. XFj(.)j(Likewise)d Fi(\('abc'..')q(ad)q(e'\))354 1064 y Fj(Associative)g
  575. X(array:)h Fi(\()p Ff(KEY1)p Fi(,)p Ff(V)m(AL1)p Fi(,)p Ff(KEY2)p
  576. XFi(,)p Ff(V)m(AL2)p Fi(,...\))354 1129 y Fj(Filehandles:)472
  577. X1185 y(Pre-de\256ned:)h Fi(<STDIN>)p Fj(,)i Fi(<STDOUT>)p Fj(,)g
  578. XFi(<STDERR>)p Fj(,)g Fi(<ARGV>)p Fj(,)f Fi(<DATA>)p Fj(;)472
  579. X1242 y(User)o(-speci\256ed:)e Fi(<)p Ff(HANDLE)p Fi(>)p Fj(,)g
  580. XFi(<$)p Ff(V)m(AR)p Fi(>)p Fj(.)472 1298 y Fi(<>)h Fj(is)e(the)g(input)f
  581. X(stream)h(formed)g(by)h(the)f(\256les)g(speci\256ed)h(in)f
  582. XFi(@ARGV)p Fj(,)j(or)d(standard)472 1355 y(input)g(if)g(no)g(ar)o(guments)g
  583. X(are)h(supplied.)354 1420 y(Globs:)f Fi(<)p Ff(P)m(A)m(TTERN)p
  584. XFi(>)g Fj(evaluates)h(to)f(all)g(\256lenames)g(according)h(to)f(the)g
  585. X(pattern.)472 1476 y(Use)h Fi(<${)p Ff(V)m(AR)p Fi(}>)h Fj(to)d(glob)h(from)g
  586. X(a)h(variable.)354 1541 y(Here-Is:)g Fi(<<)p Ff(IDENTIFIER)472
  587. X1597 y Fc(See)g(the)f(manual)g(for)g(details.)354 1662 y Fj(Special)h
  588. X(tokens:)472 1718 y Fi(_)c(_)q(FILE_)h(_)q Fj(:)i(\256lename;)g
  589. XFi(_)d(_)q(LINE_)h(_)q Fj(:)i(line)g(number)m(.)472 1775 y
  590. XFi(_)d(_)q(END_)h(_)p Fj(:)j(end)f(of)g(program;)g(remaining)g(lines)f(can)i
  591. X(be)g(read)g(using)e Fi(<)p Ff(DA)m(T)m(A)p Fi(>)p Fj(.)355
  592. X1904 y Fl(3.)19 b(V)m(ariables)p 355 1925 V 354 2026 a Fi($)q(var)269
  593. Xb Fj(a)12 b(simple)e(scalar)i(variable)354 2090 y Fi($)q(var[28])161
  594. Xb Fj(29th)11 b(element)g(of)g(array)i Fi(@var)g Fj(\(the)e
  595. XFi([])h Fj(are)g(part)g(of)f(it\))354 2155 y Fi($)q(var{)q('Feb'})79
  596. Xb Fj(one)12 b(value)f(from)g(associative)g(array)h Fi(\045var)354
  597. X2220 y($)q(#var)242 b Fj(last)11 b(index)g(of)g(array)i Fi(@var)354
  598. X2285 y(@var)270 b Fj(the)11 b(entire)h(array;)732 2341 y(in)f(scalar)h
  599. X(context:)f(the)g(number)g(of)g(elements)g(in)g(the)g(array)354
  600. X2406 y Fi(@var[3,4)q(,5])80 b Fj(a)12 b(slice)f(of)h(the)f(array)h
  601. XFi(@var)354 2471 y(@var{)r('a','b'})25 b Fj(a)12 b(slice)f(of)h
  602. XFi(\045var)p Fj(;)g(same)f(as)h Fi(\($var{'a')q(},$)q(va)q(r{')q(b'})q(\))354
  603. X2535 y(\045)q(var)269 b Fj(the)11 b(entire)h(associative)f(array;)732
  604. X2592 y(in)g(scalar)h(context:)f(TRUE)g(if)h(the)f(array)h(has)f(elements)354
  605. X2657 y Fi($)q(var{)q('a',1,...)q(})24 b Fj(emulates)11 b(a)g
  606. X(multi-dimensional)e(array)354 2721 y Fi(\('a'..'z)q('\)[)q(4,7)q(,9)q(])732
  607. X2778 y Fj(a)j(slice)f(of)h(an)f(array)h(literal)354 2843 y
  608. XFi(*)p Ff(NAME)230 b Fj(refers)13 b(to)e(all)g(objects)f(represented)i(by)f
  609. XFf(NAME)p Fj(.)g(\252)p Fi(*name1)30 b(=)732 2899 y(*name2)p
  610. XFj(\272)14 b(makes)d Fi(name1)j Fj(a)e(reference)h(to)e Fi(name2)p
  611. XFj(.)p 354 3018 1512 3 v 1838 3065 a Fg(2)p eop
  612. X%%Page: 3 5
  613. Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  614. X3 v 355 -2 a Fl(4.)19 b(Statements)p 355 19 1512 2 v 354 119
  615. Xa Fj(Every)12 b(statement)e(is)h(an)h(expression,)f(optionally)e(followed)i
  616. X(by)g(a)h(modi\256er)n(,)g(and)354 176 y(terminated)f(by)g(a)h(semicolon.)e
  617. X(The)i(semicolon)e(may)h(be)g(omitted)f(if)i(the)f(statement)f(is)h(the)354
  618. X232 y(\256nal)h(one)f(in)g(a)h(BLOCK.)354 297 y(Execution)f(of)g(expressions)
  619. Xg(can)h(depend)f(on)g(other)g(expressions)g(using)f(one)h(of)h(the)354
  620. X354 y(modi\256ers)f Fd(if)p Fj(,)g Fd(unless)p Fj(,)i Fd(while)e
  621. XFj(or)g Fd(until)p Fj(,)h(e.g.:)400 418 y Ff(EXPR1)f Fd(if)f
  622. XFf(EXPR2)h Fi(;)400 475 y Ff(EXPR1)g Fd(until)g Ff(EXPR2)f
  623. XFi(;)354 540 y Fj(Also,)h(by)g(using)g(one)g(of)h(the)f(logical)g(operators)g
  624. XFi(||)q Fj(,)h Fi(&&)g Fj(or)f Fi(?)28 b(:)p Fj(,)12 b(e.g.:)400
  625. X604 y Ff(EXPR1)f Fi(||)h Ff(EXPR2)e Fi(;)400 661 y Ff(EXPR1)h
  626. XFi(?)g Ff(EXPR2)g Fi(:)h Ff(EXPR3)e Fi(;)354 725 y Fj(Statements)h(can)h(be)f
  627. X(combined)g(to)g(form)g(a)h Ff(BLOCK)f Fj(when)g(enclosed)g(in)g
  628. XFi({})p Fj(.)354 790 y(Compound)g(statements)f(may)h(be)g(used)h(to)f
  629. X(control)f(\257ow:)400 855 y Fd(if)h Fi(\()p Ff(EXPR)p Fi(\))g
  630. XFf(BLOCK)g Fj([)h([)f Fd(elsif)g Fi(\()p Ff(EXPR)p Fi(\))g
  631. XFf(BLOCK)g(...)f Fj(])i Fd(else)f Ff(BLOCK)g Fj(])400 911 y
  632. XFd(unless)h Fi(\()p Ff(EXPR)p Fi(\))f Ff(BLOCK)g Fj([)h Fd(else)f
  633. XFf(BLOCK)g Fj(])400 968 y([)h Ff(LABEL)p Fd(:)e Fj(])i Fd(while)f
  634. XFi(\()p Ff(EXPR)p Fi(\))g Ff(BLOCK)g Fj([)h Fd(continue)g Ff(BLOCK)f
  635. XFj(])400 1024 y([)h Ff(LABEL)p Fd(:)e Fj(])i Fd(until)f Fi(\()p
  636. XFf(EXPR)p Fi(\))g Ff(BLOCK)g Fj([)h Fd(continue)g Ff(BLOCK)f
  637. XFj(])400 1081 y([)h Ff(LABEL)p Fd(:)e Fj(])i Fd(for)f Fi(\()p
  638. XFf(EXPR)p Fi(;)h Ff(EXPR)p Fi(;)f Ff(EXPR)p Fi(\))f Ff(BLOCK)400
  639. X1137 y Fj([)i Ff(LABEL)p Fd(:)e Fj(])i Fd(foreach)g Ff(V)m(AR)p
  640. XFe(y)o Fi(\()p Ff(ARRA)m(Y)p Fi(\))f Ff(BLOCK)400 1194 y Fj([)h
  641. XFf(LABEL)p Fd(:)e Fj(])i Ff(BLOCK)f Fj([)g Fd(continue)24 b
  642. XFf(BLOCK)12 b Fj(])354 1258 y(Special)g(forms)f(are:)400 1323
  643. Xy Fd(do)h Ff(BLOCK)f Fd(while)h Ff(EXPR)e Fi(;)400 1380 y Fd(do)i
  644. XFf(BLOCK)f Fd(until)g Ff(EXPR)g Fi(;)354 1436 y Fj(which)g(are)i(guaranteed)e
  645. X(to)g(perform)h Ff(BLOCK)f Fj(once)g(before)h(testing)f Ff(EXPR)p
  646. XFj(.)355 1559 y Fl(5.)19 b(Flow)h(control)p 355 1580 V 354
  647. X1681 a Fd(do)12 b Ff(BLOCK)472 1737 y Fj(Returns)g(the)f(value)g(of)h(the)f
  648. X(last)g(command)f(in)h(the)h(sequence)f(of)h(commands)472 1794
  649. Xy(indicated)f(by)g Ff(BLOCK)p Fj(.)h Fd(next)p Fj(,)g Fd(last)f
  650. XFj(and)g Fd(redo)i Fj(cannot)e(be)g(used)h(here.)354 1859 y
  651. XFd(do)g Ff(SUBROUTINE)p Fd(\(LIST\))472 1915 y Fj(Executes)g(a)f
  652. XFf(SUBROUTINE)g Fj(declared)h(by)f(a)h Fd(sub)g Fj(declaration,)g(and)f
  653. X(returns)g(the)472 1971 y(value)h(of)f(the)g(last)g(expression)g(evaluated)g
  654. X(in)g Ff(SUBROUTINE)g Fj(.)472 2028 y(Preferred)j(form)d(is:)f
  655. XFi(&)p Ff(SUBROUTINE)h Fj(.)354 2093 y Fd(do)h Ff(FILENAME)472
  656. X2149 y Fj(Executes)g(the)f(contents)g(of)g Ff(FILENAME)f Fj(as)h(a)h(perl)g
  657. X(script.)f(Errors)g(are)i(returned)e(in)472 2206 y Fi($@)p
  658. XFj(.)472 2262 y(Preferred)j(form)d(is:)f Fd(require)j Ff(FILENAME)d
  659. XFj(.)354 2327 y Fd(goto)j Ff(LABEL)472 2383 y Fj(Continue)e(execution)g(at)h
  660. X(the)f(speci\256ed)h(label.)354 2448 y Fd(last)f Fj([)p Ff(LABEL)p
  661. XFj(])472 2504 y(Immediately)g(exits)f(the)i(loop)e(in)h(question.)g(Skips)g
  662. X(continue)f(block.)354 2569 y Fd(next)i Fj([)p Ff(LABEL)p Fj(])472
  663. X2626 y(Starts)g(the)f(next)g(iteration)g(of)g(the)g(loop.)354
  664. X2690 y Fd(redo)i Fj([)p Ff(LABEL)p Fj(])472 2747 y(Restarts)f(the)f(loop)g
  665. X(block)g(without)f(evaluating)g(the)h(conditional)f(again.)354
  666. X2812 y Fd(return)j Ff(EXPR)472 2868 y Fj(Returns)f(from)f(a)h(subroutine)e
  667. X(with)h(the)g(value)g(speci\256ed.)p 354 3018 1512 3 v 354
  668. X3065 a Fg(3)p eop
  669. X%%Page: 4 6
  670. Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  671. X3 v 355 -2 a Fl(6.)19 b(Operators)p 355 19 1512 2 v 354 119
  672. Xa Fi(+)28 b(-)g(*)g(/)g Fj(Addition,)10 b(subtraction,)g(multiplication,)g
  673. X(division.)354 176 y Fi(\045)193 b Fj(Modulo)10 b(division.)354
  674. X232 y Fi(|)i(&)44 b(\303)83 b Fj(Bitwise)10 b(or)n(,)j(bitwise)d(and,)i
  675. X(bitwise)e(exclusive)h(or)m(.)354 289 y Fi(>>)56 b(<<)g Fj(Bitwise)10
  676. Xb(shift)h(right,)g(bitwise)f(shift)h(left.)354 345 y Fi(**)166
  677. Xb Fj(Exponentiation.)354 402 y Fi(!)193 b Fj(Negation)10 b(\(unary\).)354
  678. X458 y Fi(\304)193 b Fj(Bitwise)10 b(complement)h(\(unary\).)354
  679. X515 y Fi(.)193 b Fj(Concatenation)11 b(of)g(two)g(strings.)354
  680. X571 y Fd(x)197 b Fj(Returns)11 b(a)h(string)e(or)i(array)g(consisting)d(of)j
  681. X(the)f(left)g(operand)h(\(an)g(array)g(or)574 628 y(a)f(string\))g(repeated)h
  682. X(the)f(number)g(of)g(times)g(speci\256ed)h(by)f(the)g(right)g(operand.)354
  683. X692 y(All)g(of)h(the)f(above)g(operators)h(also)f(have)g(an)h(assignment)e
  684. X(operator)n(,)i(e.g.)g(\252)p Fi(.=)p Fj(\272.)354 757 y Fi(++)56
  685. Xb(--)g Fj(Auto-increment)10 b(\(magical)h(on)g(strings\),)g(auto-decrement.)
  686. X354 813 y Fi(?)28 b(:)138 b Fj(Alternation)10 b(\(if-then-else\))i(operator)m
  687. X(.)354 870 y Fi(|)q(|)55 b(&&)h Fj(Logical)10 b(or)n(,)i(logical)f(and.)354
  688. X926 y Fi(=)d(=)48 b(!=)56 b Fj(Numeric)11 b(equality)m(,)g(inequality)m(.)354
  689. X983 y Fd(eq)62 b(ne)g Fj(String)11 b(equality)m(,)g(inequality)m(.)354
  690. X1039 y Fi(<)83 b(>)g Fj(Numeric)11 b(less)g(than,)g(greater)h(than.)354
  691. X1096 y Fd(lt)84 b(gt)71 b Fj(String)11 b(less)f(than,)i(greater)g(than.)354
  692. X1152 y Fi(<=)56 b(>=)g Fj(Numeric)11 b(less)g(\(greater\))h(than)f(or)h
  693. X(equal)f(to.)354 1209 y Fd(le)75 b(ge)62 b Fj(String)11 b(less)f(\(greater\))
  694. Xj(than)e(or)h(equal.)354 1265 y Fi(<=>)139 b Fj(Numeric)11
  695. Xb(compare.)h(Returns)f(-1,)h(0)f(or)h(1.)354 1322 y Fd(cmp)135
  696. Xb Fj(String)11 b(compare.)h(Returns)f(-1,)h(0)f(or)h(1.)354
  697. X1378 y Fi(=\304)56 b(!\304)g Fj(Search)12 b(pattern,)g(substitution,)d(or)i
  698. X(translation)f(\(negated\).)354 1434 y Fi(..)166 b Fj(Enumeration,)10
  699. Xb(also)h(input)g(line)f(range)i(operator)m(.)354 1491 y Fi(,)193
  700. Xb Fj(Comma)11 b(operator)m(.)355 1621 y Fl(7.)19 b(File)g(test)j(operators)p
  701. X355 1642 V 354 1743 a Fj(These)12 b(unary)f(operators)g(takes)h(one)f(ar)o
  702. X(gument,)h(either)f(a)h(\256lename)f(or)h(a)f(\256lehandle,)h(and)354
  703. X1799 y(tests)f(the)g(associated)g(\256le)h(to)f(see)h(if)f(something)f(is)h
  704. X(true)g(about)g(it.)g(If)h(the)f(ar)o(gument)g(is)354 1856
  705. Xy(omitted,)g(tests)f Fi($_)j Fj(\(except)e(for)h Fi(-t,)h Fj(which)e(tests)f
  706. XFi(STDIN)p Fj(\).)k(If)e(the)f(special)g(ar)o(gument)h Fi(_)354
  707. X1912 y Fj(\(underscore\))g(is)f(passed,)h(uses)f(the)g(info)g(of)h(the)f
  708. X(preceding)g(test.)354 1977 y Fi(-r)29 b(-w)f(-x)77 b Fj(File)11
  709. Xb(is)g(readable/writable/executable)g(by)g(ef)o(fective)i(uid/gid.)354
  710. X2042 y Fi(-R)29 b(-W)f(-X)77 b Fj(File)11 b(is)g
  711. X(readable/writable/executable)g(by)g(real)h(uid/gid.)354 2106
  712. Xy Fi(-o)29 b(-O)159 b Fj(File)11 b(is)g(owned)g(by)g(ef)o(fective/real)i
  713. X(uid.)354 2171 y Fi(-e)29 b(-z)159 b Fj(File)11 b(exists)g(/)g(has)g(zero)h
  714. X(size.)354 2236 y Fi(-s)242 b Fj(File)11 b(exists)g(and)g(has)g(non-zero)h
  715. X(size.)g(Returns)f(the)g(size.)354 2301 y Fi(-f)29 b(-d)159
  716. Xb Fj(File)11 b(is)g(a)h(plain)e(\256le,)j(a)e(directory)m(.)354
  717. X2365 y Fi(-l)29 b(-S)f(-p)77 b Fj(File)11 b(is)g(a)h(symbolic)d(link,)i(a)h
  718. X(socket,)g(a)f(named)g(pipe)g(\(FIFO\).)354 2430 y Fi(-b)29
  719. Xb(-c)159 b Fj(File)11 b(is)g(a)h(block/character)g(special)f(\256le.)354
  720. X2495 y Fi(-u)29 b(-g)f(-k)77 b Fj(File)11 b(has)g(setuid/setgid/sticky)d(bit)
  721. Xj(set.)354 2560 y Fi(-t)242 b Fj(T)m(ests)10 b(if)i(\256lehandle)f(\()p
  722. XFi(STDIN)j Fj(by)d(default\))g(is)g(opened)g(to)g(a)h(tty)m(.)354
  723. X2624 y Fi(-T)29 b(-B)159 b Fj(File)11 b(is)g(a)h(text/non-text)d(\(binary\))j
  724. X(\256le.)g Fi(-T)g Fj(and)g Fi(-B)g Fj(return)f(TRUE)h(on)f(a)650
  725. X2681 y(null)f(\256le,)i(or)g(a)f(\256le)h(at)g(EOF)f(when)h(testing)e(a)h
  726. X(\256lehandle.)354 2746 y Fi(-M)29 b(-A)f(-C)77 b Fj(File)11
  727. Xb(modi\256cation)f(/)h(access)i(/)e(inode)f(change)i(time.)f(Measured)h(in)f
  728. X(days)650 2802 y(since)g(this)f(program)h(started.)h(See)g(also)f
  729. XFi($\303T)i Fj(in)e(section)650 2859 y(\252Special)h(V)-5 b(ariables\272.)p
  730. X354 3018 1512 3 v 1838 3065 a Fg(4)p eop
  731. X%%Page: 5 7
  732. Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  733. X3 v 354 -12 a Fj(A)f Ff(LIST)f Fj(is)g(a)g(\(possibly)f(parenthesised\))h
  734. X(list)g(of)g(expressions,)g(variables)g(or)h Ff(LIST)p Fj(s.)f(An)354
  735. X45 y(array)i(variable)e(or)g(an)h(array)g(slice)f(may)g(always)h(be)f(used)g
  736. X(instead)g(of)g(a)h Ff(LIST)p Fj(.)355 168 y Fl(8.)19 b(Arithmetic)i
  737. X(functions)p 355 189 1512 2 v 354 290 a Fd(atan2\()p Ff(Y)p
  738. XFd(,)p Ff(X)p Fd(\))472 346 y Fj(Returns)12 b(the)f(arctangent)h(of)f
  739. XFf(Y)p Fj(/)p Ff(X)g Fj(in)g(the)g(range)h(-)p Fb(\031)h Fj(to)e
  740. XFb(\031)r Fj(.)354 411 y Fd(cos\()p Ff(EXPR)p Fe(y)o Fd(\))p
  741. XFj(*)472 467 y(Returns)h(the)f(cosine)g(of)h Ff(EXPR)e Fj(\(expressed)i(in)f
  742. X(radians\).)354 532 y Fd(exp\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472
  743. X588 y(Returns)h Fi(e)g Fj(to)f(the)g(power)g(of)h Ff(EXPR)p
  744. XFj(.)354 653 y Fd(int\()p Ff(EXPR)p Fe(y)n Fd(\))p Fj(*)472
  745. X710 y(Returns)g(the)f(integer)g(portion)g(of)g Ff(EXPR)p Fj(.)354
  746. X774 y Fd(log\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472 831 y(Returns)h(natural)f
  747. X(logarithm)f(\(base)i Fi(e)p Fj(\))g(of)f Ff(EXPR)p Fj(.)354
  748. X896 y Fd(rand)p Fj([)p Fd(\()p Ff(EXPR)p Fd(\))p Fj(*])472
  749. X952 y(Returns)h(a)g(random)f(fractional)g(number)g(between)g(0)h(and)f(the)g
  750. X(value)h(of)f Ff(EXPR)p Fj(.)g(If)472 1008 y Ff(EXPR)g Fj(is)g(omitted,)f
  751. X(returns)h(a)h(value)f(between)h(0)f(and)h(1.)354 1073 y Fd(sin\()p
  752. XFf(EXPR)p Fe(y)n Fd(\))p Fj(*)472 1130 y(Returns)g(the)f(sine)g(of)h
  753. XFf(EXPR)e Fj(\(expressed)i(in)f(radians\).)354 1194 y Fd(sqrt\()p
  754. XFf(EXPR)p Fe(y)o Fd(\))p Fj(*)472 1251 y(Return)h(the)f(square)h(root)f(of)g
  755. XFf(EXPR)p Fj(.)354 1316 y Fd(srand)p Fj([)p Fd(\()p Ff(EXPR)p
  756. XFd(\))p Fj(*])472 1372 y(Sets)h(the)f(random)g(number)g(seed)h(for)f(the)g
  757. X(rand)h(operator)m(.)354 1437 y Fd(time)32 b Fj(Returns)12
  758. Xb(the)f(number)g(of)g(seconds)g(since)h(January)f(1,)h(1970.)f(Suitable)g
  759. X(for)h(feeding)472 1493 y(to)f Fd(gmtime)g Fj(and)h Fd(localtime)p
  760. XFj(.)355 1618 y Fl(9.)19 b(Conversion)i(functions)p 355 1639
  761. XV 354 1740 a Fd(gmtime\()p Ff(EXPR)p Fd(\))p Fj(*)472 1796
  762. Xy(Converts)12 b(a)f(time)g(as)g(returned)h(by)f(the)g Fd(time)g
  763. XFj(function)g(to)g(a)g(9-element)g(array)i(\()p Fi($)p Fj(sec,)472
  764. X1852 y Fi($)q Fj(min,)e Fi($)p Fj(hour)n(,)h Fi($)p Fj(mday)m(,)g
  765. XFi($)p Fj(mon,)f Fi($)p Fj(year)n(,)i Fi($)p Fj(wday)m(,)f
  766. XFi($)q Fj(yday)m(,)f Fi($)q Fj(isdst\))f(with)g(the)i(time)472
  767. X1909 y(analyzed)g(for)g(the)f(Greenwich)h(timezone.)f Fi($)p
  768. XFj(mon)g(has)g(the)g(range)h(0..11)g(and)f Fi($)q Fj(wday)472
  769. X1965 y(has)h(the)f(range)h(0..6.)354 2030 y Fd(hex\()p Ff(EXPR)p
  770. XFe(y)o Fd(\))p Fj(*)472 2087 y(Returns)g(the)f(decimal)g(value)g(of)h
  771. XFf(EXPR)e Fj(interpreted)i(as)f(an)h(hex)f(string.)354 2151
  772. Xy Fd(localtime\()p Ff(EXPR)p Fd(\))p Fj(*)472 2208 y(Converts)h(a)f(time)g
  773. X(as)g(returned)h(by)f(the)g Fd(time)g Fj(function)g(to)g(a)g(9-element)g
  774. X(array)i(with)472 2264 y(the)f(time)e(analyzed)i(for)g(the)f(local)g
  775. X(timezone.)354 2329 y Fd(oct\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472
  776. X2385 y(Returns)h(the)f(decimal)g(value)g(of)h Ff(EXPR)e Fj(interpreted)i(as)f
  777. X(an)h(octal)f(string.)g(If)g Ff(EXPR)472 2442 y Fj(starts)g(of)o(f)h(with)f
  778. XFi(0x)p Fj(,)h(interprets)f(it)g(as)g(a)h(hex)f(string)g(instead.)354
  779. X2507 y Fd(ord\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472 2563 y(Returns)h(the)f
  780. X(ascii)g(value)h(of)f(the)g(\256rst)h(character)g(of)g Ff(EXPR)p
  781. XFj(.)354 2628 y Fd(vec\()p Ff(EXPR)p Fd(,)p Ff(OFFSET)p Fd(,)p
  782. XFf(BITS)p Fd(\))472 2684 y Fj(T)n(reats)g Ff(EXPR)f Fj(as)g(a)h(string)e(of)i
  783. X(unsigned)e(ints,)h(and)g(yields)g(the)g(bit)g(at)g Ff(OFFSET)p
  784. XFj(.)472 2741 y Ff(BITS)g Fj(must)f(be)i(between)f(1)h(and)f(32.)h(May)f(be)g
  785. X(used)g(as)h(an)f(lvalue.)p 354 3018 1512 3 v 354 3065 a Fg(5)p
  786. Xeop
  787. X%%Page: 6 8
  788. Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  789. X3 v 355 -2 a Fl(10.)19 b(Structure)k(conversion)p 355 19 1512
  790. X2 v 354 119 a Fd(pack\()p Ff(TEMPLA)m(TE)p Fd(,)p Ff(LIST)p
  791. XFd(\))472 176 y Fj(Packs)12 b(the)g(values)f(into)f(a)i(binary)f(structure)g
  792. X(using)f Ff(TEMPLA)m(TE)p Fj(.)354 241 y Fd(unpack\()p Ff(TEMPLA)m(TE)p
  793. XFd(,)p Ff(EXPR)p Fd(\))472 297 y Fj(Unpacks)i(the)f(structure)g
  794. XFf(EXPR)f Fj(into)h(an)g(array)m(,)i(using)d Ff(TEMPLA)m(TE)p
  795. XFj(.)472 362 y Ff(TEMPLA)m(TE)h Fj(is)g(a)g(sequence)h(of)g(characters)g(as)g
  796. X(follows:)527 427 y Fi(a)28 b Fj(/)42 b Fi(A)55 b Fj(Ascii)11
  797. Xb(string,)g(null)f(/)h(space)h(padded)527 483 y Fi(b)28 b Fj(/)42
  798. Xb Fi(B)55 b Fj(Bit)11 b(string)g(in)g(ascending)g(/)g(descending)g(order)527
  799. X540 y Fi(c)28 b Fj(/)42 b Fi(C)55 b Fj(Native)11 b(/)g(unsigned)g(char)h
  800. X(value)527 596 y Fi(f)28 b Fj(/)42 b Fi(d)55 b Fj(Single)11
  801. Xb(/)g(double)g(\257oat)h(in)f(native)g(format)527 652 y Fi(h)28
  802. Xb Fj(/)42 b Fi(H)55 b Fj(Hex)12 b(string,)e(low)h(/)g(high)g(nybble)g
  803. X(\256rst.)527 709 y Fi(i)28 b Fj(/)42 b Fi(I)55 b Fj(Signed)11
  804. Xb(/)g(unsigned)g(integer)g(value)527 765 y Fi(l)28 b Fj(/)42
  805. Xb Fi(L)55 b Fj(Signed)11 b(/)g(unsigned)g(long)f(value)527
  806. X822 y Fi(n)28 b Fj(/)42 b Fi(N)55 b Fj(Short)11 b(/)g(long)g(in)g(network)g
  807. X(\(big)g(endian\))g(byte)g(order)527 878 y Fi(s)28 b Fj(/)42
  808. Xb Fi(S)55 b Fj(Signed)11 b(/)g(unsigned)g(short)f(value)527
  809. X935 y Fi(u)28 b Fj(/)42 b Fi(p)55 b Fj(Uuencoded)11 b(string)g(/)g(Pointer)g
  810. X(to)g(a)h(string)527 991 y Fi(v)28 b Fj(/)42 b Fi(V)55 b Fj(Short)11
  811. Xb(/)g(long)g(in)g(V)-6 b(AX)11 b(\(little)g(endian\))g(byte)g(order)527
  812. X1048 y Fi(x)28 b Fj(/)42 b Fi(@)55 b Fj(Null)11 b(byte)g(/)g(null)f(\256ll)h
  813. X(until)g(position)527 1104 y Fi(X)165 b Fj(Backup)12 b(a)g(byte)472
  814. X1169 y(Each)g(character)h(may)e(be)g(followed)g(by)g(a)h(decimal)f(number)g
  815. X(which)g(will)f(be)i(used)f(as)472 1225 y(a)h(repeat)g(count,)f(an)h
  816. XFi(*)g Fj(speci\256es)f(all)g(remaining)g(ar)o(guments.)472
  817. X1282 y(If)h(the)f(format)h(is)f(preceded)h(with)e Fi(\045)p
  818. XFf(N)p Fj(,)j Fd(unpack)f Fj(returns)f(an)h Ff(N)p Fj(-bit)f(checksum)472
  819. X1338 y(instead.)472 1395 y(Spaces)i(may)e(be)g(included)g(in)g(the)g
  820. X(template)g(for)g(readability)g(purposes.)355 1518 y Fl(11.)19
  821. Xb(String)i(functions)p 355 1539 V 354 1639 a Fd(chop\()p Ff(LIST)p
  822. XFe(y)p Fd(\))472 1696 y Fj(Chops)12 b(of)o(f)f(the)h(last)e(character)j(on)e
  823. X(all)g(elements)g(of)h(the)f(list;)f(returns)h(the)g(last)472
  824. X1752 y(chopped)h(character)m(.)h(The)f(parentheses)f(may)g(be)h(omitted)e(if)
  825. Xh Ff(LIST)g Fj(is)g(a)h(single)472 1809 y(variable.)354 1873
  826. Xy Fd(crypt\()p Ff(PLAINTEXT)p Fd(,)p Ff(SAL)m(T)p Fd(\))472
  827. X1930 y Fj(Encrypts)f(a)h(string.)354 1995 y Fd(eval\()p Ff(EXPR)p
  828. XFe(y)n Fd(\))p Fj(*)472 2051 y Ff(EXPR)f Fj(is)g(parsed)g(and)h(executed)f
  829. X(as)h(if)f(it)g(were)h(a)g(perl)f(program.)h(The)f(value)472
  830. X2108 y(returned)h(is)f(the)g(value)g(of)h(the)f(last)g(expression)g
  831. X(evaluated.)g(If)h(there)g(is)f(a)h(syntax)472 2164 y(error)h(or)e(runtime)g
  832. X(error)n(,)h(an)g(unde\256ned)f(string)g(is)g(returned)g(by)g
  833. XFd(eval)p Fj(,)h(and)f Fi($@)h Fj(is)f(set)472 2221 y(to)g(the)h(error)g
  834. X(message.)354 2285 y Fd(eval)p Fa({)p Ff(EXPR)p Fd(;...)p Fa(})472
  835. X2342 y Fj(Executes)e(the)g(code)g(between)g Fi({)g Fj(and)g
  836. XFi(})p Fj(.)h(T)n(raps)f(runtime)f(errors)h(as)g(described)g(above.)354
  837. X2406 y Fd(index\()p Ff(STR)p Fd(,)p Ff(SUBSTR)p Fj([)p Fd(,)p
  838. XFf(OFFSET)p Fj(])p Fd(\))472 2463 y Fj(Returns)h(the)g(position)e(of)i
  839. XFf(SUBSTR)f Fj(in)g Ff(STR)h Fj(at)g(or)g(after)g Ff(OFFSET)p
  840. XFj(.)h(If)f(the)g(substring)472 2519 y(is)g(not)g(found,)g(returns)h
  841. XFi($[-1)p Fj(.)354 2584 y Fd(length\()p Ff(EXPR)p Fe(y)o Fd(\))p
  842. XFj(*)472 2641 y(Returns)g(the)f(length)g(in)g(characters)h(of)g(the)f(value)g
  843. X(of)h Ff(EXPR)p Fj(.)354 2705 y Fd(rindex\()p Ff(STR)p Fd(,)p
  844. XFf(SUBSTR)p Fj([)p Fd(,)p Ff(OFFSET)p Fj(])p Fd(\))472 2762
  845. Xy Fj(Returns)g(the)f(position)f(of)h(the)g(last)g Ff(SUBSTR)g
  846. XFj(in)g Ff(STR)g Fj(at)h(or)f(before)h Ff(OFFSET)p Fj(.)354
  847. X2827 y Fd(substr\()p Ff(EXPR)p Fd(,)p Ff(OFFSET)p Fj([)p Fd(,)p
  848. XFf(LEN)p Fj(])p Fd(\))472 2883 y Fj(Extracts)f(a)h(substring)e(out)h(of)g
  849. XFf(EXPR)g Fj(and)g(returns)g(it.)h(If)f Ff(OFFSET)i Fj(is)d(negative,)472
  850. X2939 y(counts)h(from)g(the)g(end)h(of)f(the)g(string.)g(May)g(be)h(used)f(as)
  851. Xh(an)f(lvalue.)p 354 3018 1512 3 v 1838 3065 a Fg(6)p eop
  852. X%%Page: 7 9
  853. Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  854. X3 v 355 -2 a Fl(12.)19 b(Array)i(and)f(list)g(functions)p 355
  855. X19 1512 2 v 354 119 a Fd(delete)12 b Fi($)p Ff(ARRA)m(Y)p Fi({)o
  856. XFf(KEY)p Fi(})472 176 y Fj(Deletes)g(the)f(speci\256ed)h(value)f(from)g(the)g
  857. X(speci\256ed)h(associative)f(array)m(.)i(Returns)e(the)472
  858. X232 y(deleted)h(value.)354 297 y Fd(each\()p Fi(\045)q Ff(ARRA)m(Y)p
  859. XFd(\))p Fj(*)472 354 y(Returns)g(a)g(2-element)f(array)h(consisting)d(of)j
  860. X(the)f(key)g(and)h(value)f(for)h(the)f(next)g(value)472 410
  861. Xy(of)h(an)f(associative)g(array)m(.)i(Entries)e(are)h(returned)f(in)g(an)h
  862. X(apparently)f(random)g(order)m(.)472 466 y(When)h(the)f(array)h(is)f
  863. X(entirely)g(read,)i(a)e(null)g(array)h(is)f(returned.)h(The)f(next)g(call)h
  864. X(to)472 523 y Fd(each)g Fj(after)h(that)d(will)h(start)g(iterating)g(again.)
  865. X354 588 y Fd(grep\()p Ff(EXPR)p Fd(,)p Ff(LIST)p Fd(\))472
  866. X644 y Fj(Evaluates)g Ff(EXPR)g Fj(for)g(each)i(element)e(of)g(the)g
  867. XFf(LIST)p Fj(,)h(locally)e(setting)h Fi($_)h Fj(to)f(refer)h(to)472
  868. X701 y(the)g(element.)f(Modifying)f Fi($_)i Fj(will)e(modify)h(the)g
  869. X(corresponding)g(element)g(from)472 757 y Ff(LIST)p Fj(.)h(Returns)f(array)i
  870. X(of)e(elements)g(from)g Ff(LIST)g Fj(for)h(which)f Ff(EXPR)f
  871. XFj(returned)i(true.)354 822 y Fd(join\()p Ff(EXPR)p Fd(,)p
  872. XFf(LIST)p Fd(\))472 878 y Fj(Joins)e(the)h(separate)h(strings)e(of)h
  873. XFf(LIST)g Fj(into)f(a)h(single)g(string)f(with)g(\256elds)h(separated)g(by)
  874. X472 935 y(the)h(value)f(of)g Ff(EXPR)p Fj(,)g(and)h(returns)f(the)g(string.)
  875. X354 999 y Fd(keys\()p Fi(\045)q Ff(ARRA)m(Y)p Fd(\))p Fj(*)472
  876. X1056 y(Returns)h(an)f(array)i(with)d(of)i(all)f(the)g(keys)g(of)h(the)f
  877. X(named)g(associative)g(array)m(.)354 1121 y Fd(pop\()p Fi(@)p
  878. XFf(ARRA)m(Y)p Fd(\))p Fj(*)472 1177 y(Pops)h(and)f(returns)g(the)g(last)g
  879. X(value)h(of)f(the)g(array)m(,)i(shortens)e(the)g(array)h(by)f(1.)354
  880. X1242 y Fd(push\()p Fi(@)p Ff(ARRA)m(Y)p Fd(,)p Ff(LIST)p Fd(\))472
  881. X1298 y Fj(Pushes)h(the)f(values)g(of)g Ff(LIST)h Fj(onto)e(the)h(end)h(of)f
  882. XFf(ARRA)m(Y)p Fj(.)g(The)g(length)g(of)g(the)h(array)472 1355
  883. Xy(increases)g(by)f(the)h(length)e(of)i Ff(LIST)p Fj(.)354 1420
  884. Xy Fd(reverse\()p Ff(LIST)p Fd(\))p Fj(*)472 1476 y(In)g(array)g(context:)f
  885. X(returns)g(the)g Ff(LIST)g Fj(in)g(reverse)h(order)m(.)472
  886. X1532 y(In)g(scalar)g(context:)e(returns)i(the)f(\256rst)g(element)g(of)h
  887. XFf(LIST)f Fj(with)f(bytes)h(reversed.)354 1597 y Fd(scalar\()p
  888. XFi(@)p Ff(ARRA)m(Y)p Fd(\))472 1654 y Fj(Returns)h(the)f(number)g(of)g
  889. X(elements)g(in)g(the)g(array)m(.)354 1718 y Fd(scalar\()p Fi(\045)q
  890. XFf(ARRA)m(Y)p Fd(\))472 1775 y Fj(Returns)h(TRUE)g(if)f(the)g(associative)g
  891. X(array)h(has)f(elements)g(de\256ned.)354 1840 y Fd(shift)p
  892. XFj([)p Fd(\()p Fi(@)p Ff(ARRA)m(Y)p Fd(\))p Fj(*])472 1896
  893. Xy(Shifts)g(the)h(\256rst)f(value)g(of)h(the)f(array)h(of)o(f)g(and)f(returns)
  894. Xh(it,)f(shortening)f(the)h(array)i(by)e(1)472 1953 y(and)h(moving)e
  895. X(everything)g(down.)i(If)g Fi(@)p Ff(ARRA)m(Y)e Fj(is)h(omitted,)g(shifts)f
  896. XFi(@ARGV)j Fj(in)e(main)472 2009 y(and)h Fi(@_)g Fj(in)f(subroutines.)354
  897. X2074 y Fd(sort\()h Fj([)p Ff(SUBROUTINE)f Fj(])g Ff(LIST)p
  898. XFd(\))p Fj(*)472 2130 y(Sorts)h(the)f Ff(LIST)g Fj(and)g(returns)h(the)f
  899. X(sorted)g(array)h(value.)g(If)g Ff(SUBROUTINE)e Fj(is)472 2187
  900. Xy(speci\256ed,)j(gives)d(the)i(name)f(of)g(a)h(subroutine)e(that)h(returns)g
  901. X(less)g(than)g(zero,)i(zero,)f(or)472 2243 y(greater)h(than)e(zero,)h
  902. X(depending)f(on)g(how)g(the)g(elements)g(of)g(the)g(array)m(,)i(available)e
  903. X(to)472 2300 y(the)h(routine)e(as)i Fi($a)g Fj(and)f Fi($b)p
  904. XFj(,)i(are)f(to)f(be)h(ordered.)472 2356 y Ff(SUBROUTINE)f
  905. XFj(may)g(be)h(the)f(name)g(of)h(a)f(user)o(-de\256ned)h(routine,)g(or)f(a)h
  906. XFf(BLOCK)f Fj(\(see)472 2412 y(\252Statements\272)h(and)f
  907. X(\252Miscellaneous\272\).)354 2477 y Fd(splice\()p Fi(@)p Ff(ARRA)m(Y)p
  908. XFd(,)p Ff(OFFSET)p Fj([)p Fd(,)p Ff(LENGTH)p Fj([)p Fd(,)p
  909. XFf(LIST)p Fj(]])p Fd(\))472 2534 y Fj(Removes)h(the)f(elements)g(of)g
  910. XFi(@)p Ff(ARRA)m(Y)g Fj(designated)g(by)g Ff(OFFSET)h Fj(and)f
  911. XFf(LENGTH)p Fj(,)472 2590 y(and)h(replaces)g(them)f(with)f
  912. XFf(LIST)h Fj(\(if)h(speci\256ed\).)472 2647 y(Returns)g(the)f(elements)g
  913. X(removed.)354 2711 y Fd(split)p Fj([)p Fd(\()p Ff(P)m(A)m(TTERN)p
  914. XFj([)p Fd(,)p Ff(EXPR)p Fe(y)m Fj([)p Fd(,)p Ff(LIMIT)p Fj(]])p
  915. XFd(\))p Fj(])472 2768 y(Splits)g(a)h(string)e(into)h(an)g(array)h(of)g
  916. X(strings,)e(and)i(returns)f(it.)g(If)h Ff(LIMIT)e Fj(is)h(speci\256ed,)472
  917. X2824 y(splits)f(in)h(no)g(more)h(than)f(that)g(many)f(\256elds.)i(If)g
  918. XFf(P)m(A)m(TTERN)f Fj(is)g(also)g(omitted,)f(splits)472 2881
  919. Xy(on)i(whitespace.)f(If)h(not)f(in)g(array)h(context:)f(returns)g(number)g
  920. X(of)g(\256elds)g(and)h(splits)e(to)472 2937 y Fi(@_)p Fj(.)j(See)f(also:)f
  921. X(\252Search)i(and)e(Replace)i(Functions\272.)p 354 3018 1512
  922. X3 v 354 3065 a Fg(7)p eop
  923. X%%Page: 8 10
  924. Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  925. X3 v 354 -12 a Fd(unshift\()p Fi(@)p Ff(ARRA)m(Y)p Fd(,)p Ff(LIST)p
  926. XFd(\))472 45 y Fj(Prepends)f(list)f(to)f(the)i(front)f(of)g(the)h(array)m(,)g
  927. X(and)g(returns)f(the)g(number)g(of)g(elements)g(in)472 101
  928. Xy(the)h(new)f(array)m(.)354 166 y Fd(values\()p Fi(\045)q Ff(ARRA)m(Y)p
  929. XFd(\))p Fj(*)472 222 y(Returns)h(a)g(normal)e(array)j(consisting)c(of)j(all)f
  930. X(the)g(values)g(of)g(the)h(named)f(associative)472 279 y(array)m(.)355
  931. X520 y Fl(13.)19 b(File)h(operations)p 355 541 1512 2 v 354
  932. X642 a Fj(Functions)11 b(operating)g(on)g(a)h(list)e(of)h(\256les)h(return)f
  933. X(the)g(number)g(of)h(\256les)f(successfully)354 698 y(operated)h(upon.)354
  934. X763 y Fd(chmod\()p Ff(LIST)p Fd(\))p Fj(*)472 819 y(Changes)g(the)f
  935. X(permissions)f(of)h(a)h(list)e(of)i(\256les.)g(The)f(\256rst)h(element)f(of)g
  936. X(the)g(list)g(must)472 876 y(be)h(the)f(numerical)g(mode.)354
  937. X941 y Fd(chown\()p Ff(LIST)p Fd(\))p Fj(*)472 997 y(Changes)h(the)f(owner)h
  938. X(and)f(group)g(of)h(a)f(list)g(of)g(\256les.)h(The)f(\256rst)h(two)f
  939. X(elements)f(of)i(the)472 1054 y(list)f(must)f(be)h(the)h(numerical)f(uid)f
  940. X(and)i(gid.)354 1118 y Fd(truncate\()p Ff(FILE)p Fd(,)p Ff(SIZE)p
  941. XFd(\))472 1175 y Fj(truncates)g Ff(FILE)f Fj(to)g Ff(SIZE)p
  942. XFj(.)g Ff(FILE)g Fj(may)g(be)g(a)h(\256lename)g(or)f(a)h(\256lehandle.)354
  943. X1240 y Fd(link\()p Ff(OLDFILE)p Fd(,)p Ff(NEWFILE)p Fd(\))472
  944. X1296 y Fj(Creates)h(a)e(new)h(\256lename)g(linked)e(to)h(the)g(old)g
  945. X(\256lename.)354 1361 y Fd(lstat\()p Ff(FILE)p Fd(\))472 1417
  946. Xy Fj(Like)h(stat,)f(but)g(does)g(not)f(traverse)i(a)g(\256nal)g(symbolic)e
  947. X(link.)354 1482 y Fd(mkdir\()p Ff(DIR)p Fd(,)p Ff(MODE)p Fd(\))472
  948. X1538 y Fj(Creates)j(a)e(directory)h(with)e(given)h(permissions.)f(Sets)i
  949. XFi($!)g Fj(on)f(failure.)354 1603 y Fd(readlink\()p Ff(EXPR)p
  950. XFe(y)o Fd(\))p Fj(*)472 1660 y(Returns)h(the)f(value)g(of)h(a)g(symbolic)d
  951. X(link.)354 1724 y Fd(rename\()p Ff(OLDNAME)p Fd(,)p Ff(NEWNAME)p
  952. XFd(\))472 1781 y Fj(Changes)j(the)f(name)h(of)f(a)h(\256le.)354
  953. X1846 y Fd(rmdir\()p Ff(FILENAME)p Fe(y)n Fd(\))p Fj(*)472 1902
  954. Xy(Deletes)g(the)f(directory)g(if)h(it)e(is)h(empty)m(.)g(Sets)h
  955. XFi($!)g Fj(on)f(failure.)354 1967 y Fd(stat\()p Ff(FILE)p Fd(\))472
  956. X2023 y Fj(Returns)h(a)g(13-element)e(array)j(\()p Fi($)p Fj(dev)m(,)f
  957. XFi($)p Fj(ino,)g Fi($)p Fj(mode,)f Fi($)q Fj(nlink,)f Fi($)q
  958. XFj(uid,)h Fi($)p Fj(gid,)h Fi($)p Fj(rdev)m(,)472 2080 y Fi($)q
  959. XFj(size,)g Fi($)p Fj(atime,)f Fi($)q Fj(mtime,)f Fi($)q Fj(ctime,)h
  960. XFi($)p Fj(blksize,)h Fi($)p Fj(blocks\).)f Ff(FILE)g Fj(can)h(be)g(a)472
  961. X2136 y(\256lehandle,)g(an)e(expression)g(evaluating)g(to)g(a)h(\256lename,)g
  962. X(or)g Fi(_)g Fj(to)f(refer)i(to)e(the)h(last)f(\256le)472 2193
  963. Xy(test)h(operation.)472 2249 y(Returns)h(a)g(null)e(list)g(if)i(the)f
  964. XFd(stat)g Fj(fails.)354 2314 y Fd(symlink\()p Ff(OLDFILE)p
  965. XFd(,)p Ff(NEWFILE)p Fd(\))472 2370 y Fj(Creates)i(a)e(new)h(\256lename)g
  966. X(symbolically)d(linked)i(to)g(the)g(old)g(\256lename.)354 2435
  967. Xy Fd(unlink\()p Ff(LIST)p Fd(\))p Fj(*)472 2491 y(Deletes)h(a)f(list)g(of)g
  968. X(\256les.)354 2556 y Fd(utime\()p Ff(LIST)p Fd(\))p Fj(*)472
  969. X2613 y(Changes)h(the)f(access)h(and)f(modi\256cation)f(times.)g(The)i
  970. X(\256rst)f(two)g(elements)f(of)h(the)g(list)472 2669 y(must)g(be)g(the)g
  971. X(numerical)g(access)h(and)g(modi\256cation)e(times.)p 354 3018
  972. X1512 3 v 1838 3065 a Fg(8)p eop
  973. X%%Page: 9 11
  974. Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  975. X3 v 355 -2 a Fl(14.)19 b(Directory)j(reading)e(routines)p 355
  976. X19 1512 2 v 354 119 a Fd(closedir\()p Ff(DIRHANDLE)p Fd(\))p
  977. XFj(*)472 176 y(Closes)12 b(a)f(directory)h(opened)f(by)g(opendir)m(.)354
  978. END_OF_FILE
  979.   if test 45310 -ne `wc -c <'refbase.ps.A'`; then
  980.     echo shar: \"'refbase.ps.A'\" unpacked with wrong size!
  981.   elif test -f 'refbase.ps.B'; then
  982.     echo shar: Combining  \"'refbase.ps'\" \(86092 characters\)
  983.     cat 'refbase.ps.A' 'refbase.ps.B' > 'refbase.ps'
  984.     if test 86092 -ne `wc -c <'refbase.ps'`; then
  985.       echo shar: \"'refbase.ps'\" combined with wrong size!
  986.     else
  987.       rm refbase.ps.A refbase.ps.B
  988.     fi
  989.   fi
  990.   # end of 'refbase.ps.A'
  991. fi
  992. echo shar: End of archive 1 \(of 3\).
  993. cp /dev/null ark1isdone
  994. MISSING=""
  995. for I in 1 2 3 ; do
  996.     if test ! -f ark${I}isdone ; then
  997.     MISSING="${MISSING} ${I}"
  998.     fi
  999. done
  1000. if test "${MISSING}" = "" ; then
  1001.     echo You have unpacked all 3 archives.
  1002.     rm -f ark[1-9]isdone
  1003. else
  1004.     echo You still must unpack the following archives:
  1005.     echo "        " ${MISSING}
  1006. fi
  1007. exit 0
  1008. exit 0 # Just in case...
  1009.