home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #19 / NN_1992_19.iso / spool / comp / sources / misc / 3895 < prev    next >
Encoding:
Internet Message Format  |  1992-09-03  |  53.3 KB

  1. Xref: sparky comp.sources.misc:3895 comp.lang.perl:5719
  2. Newsgroups: comp.sources.misc,comp.lang.perl
  3. Path: sparky!kent
  4. From: jv@mh.nl (Johan Vromans)
  5. Subject:  v32i003:  perlref - Perl Reference Guide 4.035.1, Part03/04
  6. Message-ID: <1992Sep4.023927.12122@sparky.imd.sterling.com>
  7. Followup-To: comp.sources.d
  8. X-Md4-Signature: a706548f541bbf684eb015cd6f49c07d
  9. Sender: kent@sparky.imd.sterling.com (Kent Landfield)
  10. Organization: Sterling Software
  11. References: <csm-v32i001=perlref.213734@sparky.IMD.Sterling.COM>
  12. Date: Fri, 4 Sep 1992 02:39:27 GMT
  13. Approved: kent@sparky.imd.sterling.com
  14. Lines: 1002
  15.  
  16. Submitted-by: jv@mh.nl (Johan Vromans)
  17. Posting-number: Volume 32, Issue 3
  18. Archive-name: perlref/part03
  19. Supersedes: perlref: Volume 28, Issue 77-79
  20. Environment: Perl v4.035
  21.  
  22. #! /bin/sh
  23. # This is a shell archive.  Remove anything before this line, then feed it
  24. # into a shell via "sh file" or similar.  To overwrite existing files,
  25. # type "sh file -c".
  26. # Contents:  Layout refbase.ps.A refbase.sty
  27. # Wrapped by kent@sparky on Wed Sep  2 21:35:21 1992
  28. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
  29. echo If this archive is complete, you will see the following message:
  30. echo '          "shar: End of archive 3 (of 4)."'
  31. if test -f 'Layout' -a "${1}" != "-c" ; then 
  32.   echo shar: Will not clobber existing file \"'Layout'\"
  33. else
  34.   echo shar: Extracting \"'Layout'\" \(1112 characters\)
  35.   sed "s/^X//" >'Layout' <<'END_OF_FILE'
  36. XThis is the layout of the pages of the reference guide
  37. X
  38. X
  39. X            center of paper
  40. X              |
  41. X    +-----------------+-----------------+
  42. X    |                           <----------- top margin
  43. X    |     xxxxxxxxxx  :  xxxxxxxxxx     |
  44. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  45. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  46. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  47. X    |     xxxxxxxxxx     xxxxxxxxxx  <------ right margin
  48. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  49. X    |     xxxxxxxxxx     xxxxxxxxxx     |
  50. X    | ^   xxxxxxxxxx     xxxxxxxxxx     |
  51. X    | |   xxxxxxxxxx     xxxxxxxxxx     |
  52. X    | |   xxxxxxxxxx  :  xxxxxxxxxx     |
  53. X    | |                                 |
  54. X    +-|---------------------------------+
  55. X      |
  56. X     left margin
  57. X
  58. X
  59. XThese are the values:
  60. X            A4 (cm)        US Letter (inch)
  61. X    text width         9.0        3.5        same for both
  62. X    text height        19.2        7.5        same for both
  63. X    top margin          1.0        0.5
  64. X    left margin         4.9        1.6
  65. X    right margin     4.9        1.6
  66. X    space between     2.0        0.8        same for both
  67. X
  68. XAfter printing double-sided, the pages can be stapled (the ":" in the
  69. Xpicture), folded, and the excess margins cut off. Personally, I cut it
  70. Xto 10.6 cm (4.2 inch).
  71. END_OF_FILE
  72.   if test 1112 -ne `wc -c <'Layout'`; then
  73.     echo shar: \"'Layout'\" unpacked with wrong size!
  74.   fi
  75.   # end of 'Layout'
  76. fi
  77. if test -f 'refbase.ps.A' -a "${1}" != "-c" ; then 
  78.   echo shar: Will not clobber existing file \"'refbase.ps.A'\"
  79. else
  80.   echo shar: Extracting \"'refbase.ps.A'\" \(42440 characters\)
  81.   sed "s/^X//" >'refbase.ps.A' <<'END_OF_FILE'
  82. X%!PS-Adobe-2.0
  83. X%%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software
  84. X%%Title: refbase.dvi
  85. X%%Pages: 21 1
  86. X%%BoundingBox: 0 0 596 843
  87. X%%DocumentFonts: Helvetica-BoldOblique Helvetica-Bold Times-Roman Courier-Bold
  88. X%%+ Helvetica Times-Italic
  89. X%%EndComments
  90. X%%BeginProcSet: tex.pro
  91. X/TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch
  92. Xload def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{
  93. Xisls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
  94. XResolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get
  95. Xround 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10
  96. XN}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{
  97. X/vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{
  98. Xstatusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N
  99. X/FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin
  100. X/FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array
  101. X/BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2
  102. Xarray copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}
  103. XB /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont
  104. Xsetfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup
  105. Xlength 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{
  106. Xch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B
  107. X/ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0
  108. 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
  109. Xdup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0
  110. Xch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
  111. Xch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}
  112. Ximagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr
  113. Xput nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf
  114. Xdiv put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook
  115. Xknown{bop-hook}if /SI save N @rigin 0 0 moveto}N /eop{clear SI restore
  116. Xshowpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
  117. Xknown{start-hook}if /VResolution X /Resolution X 1000 div /DVImag X /IE 256
  118. Xarray N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for}N /p /show load N
  119. X/RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X
  120. X/rulex X V}B /V statusdict begin /product where{pop product dup length 7 ge{0
  121. X7 getinterval(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1
  122. XTR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1
  123. X-.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{
  124. Xmoveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{
  125. 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
  126. 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
  127. 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
  128. Xa}B /bos{/SS save N}B /eos{clear SS restore}B end
  129. X%%EndProcSet
  130. X%%BeginProcSet: texps.pro
  131. XTeXDict begin /rf{655360 div mul Resolution mul 7227 div /PixPerEm X findfont
  132. Xdup length 1 add dict /nn X{1 index /FID ne{nn 3 1 roll put}{pop pop}ifelse}
  133. Xforall 256 dict begin nn /Encoding get 0 1 255{2 copy get 3 index 2 index get
  134. X1000 mul PixPerEm div def pop}for pop pop nn /Metrics currentdict put end
  135. X/fontname X /nn dup nn definefont[PixPerEm 0 0 PixPerEm neg 0 0]makefont N
  136. Xfontname{/foo setfont}2 array copy cvx N fontname load 0 nn put}N
  137. X/ObliqueSlant{dup sin S cos div neg}B /SlantFont{/foo X[1 0 foo 1 0 0]
  138. XTransFont}N /ExtendFont{/foo X 3 2 roll[S{foo div}forall]3 1 roll[foo 0 0 1 0
  139. X0]TransFont}N /TransFont{S findfont S makefont dup length dict /nn X{1 index
  140. X/FID ne{nn 3 1 roll put}{pop pop}ifelse}forall dup nn definefont pop}N end
  141. X%%EndProcSet
  142. XTeXDict begin 1000 300 300 @start /Fa [ 0 0 0 0 0 0 0 0 0 0
  143. 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
  144. X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
  145. X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
  146. X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
  147. X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
  148. 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
  149. 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
  150. X25 25 25 25 25 25 0 0 0 25 25 25 25 0 25 25 25 25 25 25 25
  151. X0 0 25 0 25 25 25 25 25 25 25 25 0 25 25 0 25 25 25 25 0 0
  152. 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
  153. X0 0 0 0 0 0 25 0 0 25 25 0 25 0 0 0 0 ] /Courier-Bold 1000
  154. X655360 rf /Fb [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  155. X0 0 0 0 0 0 0 0 0 0 11 15 19 23 23 38 36 15 15 15 23 31 11
  156. X15 11 13 23 23 23 23 23 23 23 23 23 23 15 15 31 31 31 23 42
  157. X28 28 30 33 28 28 33 33 15 20 30 25 38 30 33 28 33 28 23 25
  158. X33 28 38 28 25 25 18 13 18 19 23 15 23 23 20 23 20 13 23 23
  159. X13 13 20 13 33 23 23 23 23 18 18 13 23 20 30 20 20 18 18 13
  160. X18 25 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
  161. X0 0 0 0 0 0 0 18 23 23 8 23 23 23 23 10 25 23 15 15 23 23 0
  162. X23 23 23 11 0 24 16 15 25 25 23 41 46 0 23 0 15 15 15 15 15
  163. X15 15 15 0 15 15 0 15 15 15 41 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  164. X0 0 41 0 13 0 0 0 0 25 33 43 14 0 0 0 0 0 30 0 0 0 13 0 0 13
  165. X23 30 23 0 0 0 0 ] /Times-Italic 1000 720896 rf /Fc 2 59 df<07FFFE001FFFFF003F
  166. XFFFF007FFFFE0070630000C0C3000080C7000000C6000001C600000186000003860000038F0000
  167. X038F0000070F0000070F00000F0F00000F0780001E0780001E0780000C03000019147F931A>25
  168. XD<78FCFCFCFC7806067D850D>58 D E /Fd [ 0 0 0 0 0 0 0 0 0 0 0
  169. X0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 12 14 20 23 23 37
  170. X30 12 14 14 16 24 12 14 12 12 23 23 23 23 23 23 23 23 23 23
  171. X14 14 24 24 24 25 40 30 30 30 30 28 25 32 30 12 23 30 25 35
  172. X30 32 28 32 30 28 25 30 28 39 28 28 25 14 12 14 24 23 12 23
  173. X25 23 25 23 14 25 25 12 12 23 12 37 25 25 25 25 16 23 14 25
  174. X23 32 23 23 21 16 12 16 24 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  175. 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
  176. X10 21 23 14 14 25 25 0 23 23 23 12 0 23 15 12 21 21 23 42 42
  177. X0 25 0 14 14 14 14 14 14 14 14 0 14 14 0 14 14 14 42 0 0 0
  178. X0 0 0 0 0 0 0 0 0 0 0 0 0 42 0 15 0 0 0 0 25 32 42 15 0 0 0
  179. X0 0 37 0 0 0 12 0 0 12 25 39 25 0 0 0 0 ] /Helvetica-Bold 1000
  180. X655360 rf /Fe 2 122 df<0003FF0000000FFFC000003E01F00000F8007C0001E0001E000380
  181. X00070007000003800E000001C00C000000C01C000000E038000000703000000030300000003070
  182. X0000003860000000186000000018E00000001CC00000000CC00000000CC00000000CC00000000C
  183. XC00000000CC00000000CC00000000CC00000000CC00000000CE00000001C600000001860000000
  184. X1870000000383000000030300000003038000000701C000000E00C000000C00E000001C0070000
  185. X0380038000070001E0001E0000F8007C00003E01F000000FFFC0000003FF0000262B7DA02D>13
  186. XD<03000780078007800780078007800300030003007B78FFFCFFFC7B7803000300078007800780
  187. X078007800780078007800780078007800780078007800780078007800780078003000300030003
  188. X000300030003000E2A7D9F15>121 D E /Ff [ 0 0 0 0 0 0 0 0 0 0
  189. 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
  190. X37 28 9 14 14 16 24 12 14 12 12 23 23 23 23 23 23 23 23 23
  191. X23 12 12 24 24 24 23 42 28 28 30 30 28 25 32 30 12 21 28 23
  192. X35 30 32 28 32 30 28 25 30 28 39 28 28 25 12 12 12 19 23 9
  193. X23 23 21 23 23 12 23 23 9 9 21 9 35 23 23 23 23 14 21 12 23
  194. 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
  195. 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
  196. X8 14 23 14 14 21 21 0 23 23 23 12 0 22 15 9 14 14 23 42 42
  197. X0 25 0 14 14 14 14 14 14 14 14 0 14 14 0 14 14 14 42 0 0 0
  198. 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
  199. X0 0 37 0 0 0 12 0 0 9 25 39 25 0 0 0 0 ] /Helvetica 1000 655360
  200. 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
  201. X0 0 0 0 0 0 0 14 17 24 28 28 44 36 14 17 17 19 29 14 17 14
  202. X14 28 28 28 28 28 28 28 28 28 28 17 17 29 29 29 30 49 36 36
  203. X36 36 33 30 39 36 14 28 36 30 41 36 39 33 39 36 33 30 36 33
  204. X47 33 33 30 17 14 17 29 28 14 28 30 28 30 28 17 30 30 14 14
  205. X28 14 44 30 30 30 30 19 28 17 30 28 39 28 28 25 19 14 19 29
  206. 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
  207. X0 0 0 0 17 28 28 8 28 28 28 28 12 25 28 17 17 30 30 0 28 28
  208. X28 14 0 28 17 14 25 25 28 50 50 0 30 0 17 17 17 17 17 17 17
  209. 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
  210. 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
  211. X30 0 0 0 0 ] /Helvetica-BoldOblique 1000 786432 rf /Fh [ 0
  212. 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
  213. X0 10 14 17 21 21 35 32 14 14 14 21 23 10 14 10 12 21 21 21
  214. X21 21 21 21 21 21 21 12 12 23 23 23 18 38 30 28 28 30 25 23
  215. X30 30 14 16 30 25 37 30 30 23 30 28 23 25 30 30 39 30 30 25
  216. X14 12 14 19 21 14 18 21 18 21 18 14 21 21 12 12 21 12 32 21
  217. X21 21 21 14 16 12 21 21 30 21 21 18 20 8 20 22 0 0 0 0 0 0
  218. 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
  219. X21 21 7 21 21 21 21 7 18 21 14 14 23 23 0 21 21 21 10 0 19
  220. X15 14 18 18 21 42 42 0 18 0 14 14 14 14 14 14 14 14 0 14 14
  221. 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
  222. 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
  223. X] /Times-Roman 1000 655360 rf /Fi [ 0 0 0 0 0 0 0 0 0 0 0 0
  224. 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
  225. X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
  226. X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
  227. X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
  228. X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
  229. 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
  230. 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
  231. X27 27 27 27 0 0 0 27 27 27 27 0 27 27 27 27 27 27 27 0 0 27
  232. X0 27 27 27 27 27 27 27 27 0 27 27 0 27 27 27 27 0 0 0 0 0 0
  233. 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
  234. X0 0 27 0 0 27 27 0 27 0 0 0 0 ] /Courier-Bold 1000 720896 rf
  235. 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
  236. X0 0 0 0 0 11 15 19 23 23 38 36 15 15 15 23 26 11 15 11 13 23
  237. X23 23 23 23 23 23 23 23 23 13 13 26 26 26 20 42 33 30 30 33
  238. X28 25 33 33 15 18 33 28 41 33 33 25 33 30 25 28 33 33 43 33
  239. X33 28 15 13 15 21 23 15 20 23 20 23 20 15 23 23 13 13 23 13
  240. X36 23 23 23 23 15 18 13 23 23 33 23 23 20 22 9 22 25 0 0 0
  241. 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
  242. X0 15 23 23 8 23 23 23 23 8 20 23 15 15 25 25 0 23 23 23 11
  243. X0 21 16 15 20 20 23 46 46 0 20 0 15 15 15 15 15 15 15 15 0
  244. 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
  245. 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
  246. X0 0 0 ] /Times-Roman 1000 720896 rf /Fk [ 0 0 0 0 0 0 0 0 0
  247. 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
  248. X41 33 13 15 15 18 27 13 15 13 13 25 25 25 25 25 25 25 25 25
  249. X25 15 15 27 27 27 28 45 33 33 33 33 30 28 36 33 13 25 33 28
  250. X38 33 36 30 36 33 30 28 33 30 43 30 30 28 15 13 15 27 25 13
  251. X25 28 25 28 25 15 28 28 13 13 25 13 41 28 28 28 28 18 25 15
  252. 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
  253. 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
  254. X11 23 25 15 15 28 28 0 25 25 25 13 0 25 16 13 23 23 25 46 46
  255. X0 28 0 15 15 15 15 15 15 15 15 0 15 15 0 15 15 15 46 0 0 0
  256. 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
  257. X0 0 41 0 0 0 13 0 0 13 28 43 28 0 0 0 0 ] /Helvetica-Bold 1000
  258. 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
  259. X0 0 0 0 0 0 0 0 0 0 20 23 33 39 39 63 51 20 23 23 27 41 20
  260. X23 20 20 39 39 39 39 39 39 39 39 39 39 23 23 41 41 41 43 69
  261. X51 51 51 51 47 43 55 51 20 39 51 43 59 51 55 47 55 51 47 43
  262. X51 47 67 47 47 43 23 20 23 41 39 20 39 43 39 43 39 23 43 43
  263. X20 20 39 20 63 43 43 43 43 27 39 23 43 39 55 39 39 35 27 20
  264. 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
  265. X0 0 0 0 0 0 0 23 39 39 12 39 39 39 39 17 35 39 23 23 43 43
  266. X0 39 39 39 20 0 39 25 20 35 35 39 71 71 0 43 0 23 23 23 23
  267. 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
  268. 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
  269. X20 43 67 43 0 0 0 0 ] /Helvetica-BoldOblique 1000 1114112 rf
  270. Xend
  271. X%%EndProlog
  272. X%%BeginSetup
  273. X%%Feature: *Resolution 300
  274. XTeXDict begin @a4
  275. X%%EndSetup
  276. X%%Page: 0 1
  277. Xbop eop
  278. X%%Page: 0 2
  279. Xbop 591 341 a Fl(Perl)20 b(Reference)h(Guide)p 591 362 1264
  280. X2 v 591 462 a Fk(for)12 b(Perl)h(version)g(4.035)591 645 y
  281. XFj(Perl)f(program)f(designed)f(and)i(created)g(by)591 701 y(Larry)f(W)l(all)h
  282. XFi(<)p Fj(lwall@netlabs.com)p Fi(>)591 884 y Fj(Reference)h(guide)e(designed)
  283. Xg(and)g(created)h(by)591 941 y(Johan)e(V)m(romans)i Fi(<)p
  284. XFj(jv@mh.nl)p Fi(>)591 1161 y Fl(Contents)p 591 1182 V 639
  285. X1283 a Fj(1.)21 b(Command)11 b(line)g(options)639 1339 y(2.)21
  286. Xb(Literals)639 1396 y(3.)g(V)-5 b(ariables)639 1452 y(4.)21
  287. Xb(Statements)639 1509 y(5.)g(Flow)12 b(control)639 1565 y(6.)21
  288. Xb(Operators)639 1621 y(7.)g(File)12 b(test)f(operators)639
  289. X1678 y(8.)21 b(Arithmetic)11 b(functions)639 1734 y(9.)21 b(Conversion)11
  290. Xb(functions)616 1791 y(10.)21 b(Structure)12 b(conversion)616
  291. X1847 y(11.)21 b(String)11 b(functions)616 1904 y(12.)21 b(Array)12
  292. Xb(and)g(list)e(functions)616 1960 y(13.)21 b(File)12 b(operations)616
  293. X2017 y(14.)21 b(Directory)12 b(reading)f(routines)616 2073
  294. Xy(15.)21 b(Input)11 b(/)g(Output)616 2130 y(16.)21 b(Search)13
  295. Xb(and)e(replace)i(functions)616 2186 y(17.)21 b(System)11 b(interaction)616
  296. X2242 y(18.)21 b(Networking)616 2299 y(19.)g(SystemV)11 b(IPC)616
  297. X2355 y(20.)21 b(Miscellaneous)616 2412 y(21.)g(Formats)616
  298. X2468 y(22.)g(Info)12 b(from)f(system)f(\256les)616 2525 y(23.)21
  299. Xb(Regular)12 b(expressions)616 2581 y(24.)21 b(Special)12 b(variables)616
  300. X2638 y(25.)21 b(Special)12 b(arrays)616 2694 y(26.)21 b(The)12
  301. Xb(perl)f(debugger)616 2751 y(27.)21 b(Environment)10 b(variables)591
  302. X2933 y Fh(Rev)m(.)g(4.035.1)p eop
  303. X%%Page: 1 3
  304. Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  305. X3 v 354 0 a Fl(Conventions)p 354 21 1512 2 v 354 121 a Fi(fixed)102
  306. Xb Fj(denotes)10 b(literal)h(text.)354 186 y Ff(THIS)142 b Fj(means)11
  307. Xb(variable)g(text,)g(i.e.)i(things)d(you)h(must)f(\256ll)h(in.)354
  308. X251 y Ff(THIS)p Fe(y)121 b Fj(means)11 b(that)g Ff(THIS)g Fj(will)f(default)h
  309. X(to)g Fi($_)h Fj(if)g(omitted.)354 315 y Fd(word)139 b Fj(is)10
  310. Xb(a)i(keyword,)g(i.e.)g(a)g(word)f(with)f(a)i(special)f(meaning.)p
  311. X354 337 112 2 v 354 393 2 56 v 368 380 a Ff(RET)p 464 393 V
  312. X354 395 112 2 v 140 w Fj(denotes)f(pressing)h(a)h(keyboard)f(key)m(.)354
  313. X445 y([)p Fc(:)d(:)g(:)e Fj(])146 b(denotes)10 b(an)i(optional)e(part.)354
  314. X510 y(\()p Fc(:)e(:)g(:)e Fj(\)*)123 b(means)11 b(that)g(the)g(parentheses)g
  315. X(may)g(be)h(omitted.)355 635 y Fl(1.)19 b(Command)h(line)f(options)p
  316. X355 656 1512 2 v 354 757 a Fi(-a)64 b Fj(turns)11 b(on)g(autosplit)f(mode)h
  317. X(when)g(used)g(with)g Fi(-n)h Fj(or)g Fi(-p)p Fj(.)g(Splits)f(to)g
  318. XFi(@F)p Fj(.)354 821 y Fi(-c)64 b Fj(checks)12 b(syntax)f(but)g(does)g(not)f
  319. X(execute.)354 886 y Fi(-d)64 b Fj(runs)11 b(the)g(script)f(under)h(the)g
  320. X(debugger)m(.)h(Use)f Fi(-de)28 b(0)12 b Fj(to)e(start)h(the)g(debugger)g
  321. X(without)472 943 y(a)h(script.)354 1007 y Fi(-D)h Ff(NUMBER)472
  322. X1064 y Fj(sets)e(debugging)g(\257ags.)354 1129 y Fi(-e)i Ff(COMMANDLINE)472
  323. X1185 y Fj(may)e(be)h(used)f(to)g(enter)h(one)f(line)g(of)g(script.)h
  324. X(Multiple)d Fi(-e)k Fj(commands)d(may)h(be)472 1241 y(given)g(to)g(build)g
  325. X(up)g(a)g(multi-line)f(script.)354 1306 y Fi(-i)j Ff(EXT)472
  326. X1363 y Fj(\256les)f(processed)f(by)h(the)f Fi(<>)h Fj(construct)f(are)h(to)f
  327. X(be)g(edited)g(in-place.)354 1427 y Fi(-I)i Ff(DIR)472 1484
  328. Xy Fj(with)e Fi(-P)p Fj(:)h(tells)e(the)i(C)g(preprocessor)f(where)h(to)f
  329. X(look)g(for)g(include)g(\256les.)h(The)472 1540 y(directory)g(is)f(prepended)
  330. Xg(to)g Fi(@INC)p Fj(.)354 1605 y Fi(-l)i Fj([)e Ff(OCTNUM)h
  331. XFj(])472 1662 y(enables)g(automatic)e(line)h(ending)g(processing,)g(e.g.)h
  332. XFi(-l013)p Fj(.)354 1726 y Fi(-n)64 b Fj(assumes)11 b(an)h(input)e(loop)g
  333. X(around)i(your)f(script.)g(Lines)g(are)h(not)f(printed.)354
  334. X1791 y Fi(-p)64 b Fj(assumes)11 b(an)h(input)e(loop)g(around)i(your)f
  335. X(script.)g(Lines)g(are)h(printed.)354 1856 y Fi(-P)64 b Fj(runs)11
  336. Xb(the)h(C)g(preprocessor)f(on)g(the)h(script)e(before)i(compilation)e(by)h
  337. X(perl.)354 1921 y Fi(-s)64 b Fj(interprets)11 b(\252)p Fi(-xxx)p
  338. XFj(\272)j(on)d(the)g(command)g(line)g(as)g(switches)g(and)g(sets)g(the)472
  339. X1977 y(corresponding)g(variables)g Fi($)q(xxx)h Fj(in)f(the)h(script.)354
  340. X2042 y Fi(-S)64 b Fj(uses)11 b(the)h Fi(PATH)h Fj(environment)d(variable)h
  341. X(to)g(search)h(for)g(the)f(script.)354 2107 y Fi(-u)64 b Fj(dumps)11
  342. Xb(core)h(after)g(compiling)d(the)j(script.)f(T)m(o)g(be)g(used)g(with)g(the)g
  343. XFb(undump)g Fj(program)472 2163 y(\(where)i(available\).)354
  344. X2228 y Fi(-U)64 b Fj(allows)11 b(perl)h(to)e(do)i(unsafe)f(operations.)354
  345. X2293 y Fi(-v)64 b Fj(prints)11 b(the)g(version)g(and)g(patchlevel)g(of)h
  346. X(your)f(perl)g(executable.)354 2357 y Fi(-w)64 b Fj(prints)11
  347. Xb(warnings)g(about)g(possible)f(spelling)g(errors)i(and)f(other)g(error)o
  348. X(-prone)472 2414 y(constructs)g(in)g(the)g(script.)354 2479
  349. Xy Fi(-x)64 b Fj(extracts)12 b(perl)f(program)g(from)h(input)e(stream.)354
  350. X2543 y Fi(-0)j Ff(V)m(AL)472 2600 y Fj(\(that')m(s)f(the)f(number)g(zero\))h
  351. X(designates)f(an)h(initial)e(value)h(for)g(the)h(record)g(terminator)472
  352. X2656 y Fi($)q(/)p Fj(.)g(See)g(also)f Fi(-l)p Fj(.)p 354 3018
  353. X1512 3 v 354 3065 a Fg(1)p eop
  354. X%%Page: 2 4
  355. Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  356. X3 v 355 -2 a Fl(2.)19 b(Literals)p 355 19 1512 2 v 354 119
  357. Xa Fj(Numeric:)11 b Fi(123)56 b(1_234)h(123.4)g(5E-10)g(0xff)13
  358. Xb Fj(\(hex\))55 b Fi(0377)13 b Fj(\(octal\).)354 184 y(String:)e
  359. XFi('abc')i Fj(literal)e(string,)g(no)g(variable)h(interpolation)e(nor)h
  360. X(escape)h(characters.)591 241 y(Also:)e Fi(q/abc/)p Fj(.)591
  361. X297 y(\(Almost)g(any)h(pair)g(of)h(delimiters)e(can)i(be)f(used)g(instead)g
  362. X(of)h Fi(/.../)p Fj(.\))472 362 y Fi("abc")i Fj(V)-5 b(ariables)11
  363. Xb(are)h(interpolated)f(and)g(escape)h(sequences)g(are)g(processed.)591
  364. X418 y(Also:)e Fi(qq/abc/)p Fj(.)591 475 y(Escape)h(sequences:)h
  365. XFi(\\t)g Fj(\(T)m(ab\),)g Fi(\\n)g Fj(\(Newline\),)g Fi(\\r)g
  366. XFj(\(Return\),)h Fi(\\f)591 531 y Fj(\(Formfeed\),)f Fi(\\b)h
  367. XFj(\(Backspace\),)g Fi(\\a)f Fj(\(Alarm\),)g Fi(\\e)g Fj(\(Escape\),)h
  368. XFi(\\033)p Fj(\(octal\),)591 588 y Fi(\\x1b)p Fj(\(hex\),)g
  369. XFi(\\c[)g Fj(\(control\).)591 644 y Fi(\\l)f Fj(and)f Fi(\\u)h
  370. XFj(lowcase/upcase)g(the)f(following)f(character;)591 701 y
  371. XFi(\\L)i Fj(and)f Fi(\\U)h Fj(lowcase/upcase)g(until)e(a)i
  372. XFi(\\E)g Fj(is)f(encountered.)472 765 y Fi(`)p Ff(COMMAND)p
  373. XFi(`)h Fj(evaluates)f(to)g(the)g(output)f(of)i(the)f Ff(COMMAND)p
  374. XFj(.)591 822 y(Also:)f Fi(qx/)p Ff(COMMAND)p Fi(/)p Fj(.)354
  375. X887 y(Array:)i Fi(\(1,2,3\))p Fj(.)j Fi(\(\))d Fj(is)f(an)g(empty)g(array)m
  376. X(.)472 943 y(Also:)g Fi(\($a,$b,@re)q(st)q(\))30 b(=)e(\(1,2,...\))q(;)472
  377. X999 y(\(1..4\))14 b Fj(is)d(the)g(same)h(as)f Fi(\(1,2,3,4\))q
  378. XFj(.)j(Likewise)d Fi(\('abc'..')q(ad)q(e'\))354 1064 y Fj(Associative)g
  379. X(array:)h Fi(\()p Ff(KEY1)p Fi(,)p Ff(V)m(AL1)p Fi(,)p Ff(KEY2)p
  380. XFi(,)p Ff(V)m(AL2)p Fi(,...\))354 1129 y Fj(Filehandles:)472
  381. X1185 y(Pre-de\256ned:)h Fi(<STDIN>)p Fj(,)i Fi(<STDOUT>)p Fj(,)g
  382. XFi(<STDERR>)p Fj(,)g Fi(<ARGV>)p Fj(,)f Fi(<DATA>)p Fj(;)472
  383. X1242 y(User)o(-speci\256ed:)e Fi(<)p Ff(HANDLE)p Fi(>)p Fj(,)g
  384. XFi(<$)p Ff(V)m(AR)p Fi(>)p Fj(.)472 1298 y Fi(<>)h Fj(is)e(the)g(input)f
  385. X(stream)h(formed)g(by)h(the)f(\256les)g(speci\256ed)h(in)f
  386. XFi(@ARGV)p Fj(,)j(or)d(standard)472 1355 y(input)g(if)g(no)g(ar)o(guments)g
  387. X(are)h(supplied.)354 1420 y(Globs:)f Fi(<)p Ff(P)m(A)m(TTERN)p
  388. XFi(>)g Fj(evaluates)h(to)f(all)g(\256lenames)g(according)h(to)f(the)g
  389. X(pattern.)472 1476 y(Use)h Fi(<${)p Ff(V)m(AR)p Fi(}>)h Fj(to)d(glob)h(from)g
  390. X(a)h(variable.)354 1541 y(Here-Is:)g Fi(<<)p Ff(IDENTIFIER)472
  391. X1597 y Fb(See)g(the)f(manual)g(for)g(details.)354 1662 y Fj(Special)h
  392. X(tokens:)472 1718 y Fi(_)c(_)q(FILE_)h(_)q Fj(:)i(\256lename;)g
  393. XFi(_)d(_)q(LINE_)h(_)q Fj(:)i(line)g(number)m(.)472 1775 y
  394. XFi(_)d(_)q(END_)h(_)p Fj(:)j(end)f(of)g(program;)g(remaining)g(lines)f(can)i
  395. X(be)g(read)g(using)e Fi(<)p Ff(DA)m(T)m(A)p Fi(>)p Fj(.)355
  396. X1904 y Fl(3.)19 b(V)m(ariables)p 355 1925 V 354 2026 a Fi($)q(var)269
  397. Xb Fj(a)12 b(simple)e(scalar)i(variable)354 2090 y Fi($)q(var[28])161
  398. Xb Fj(29th)11 b(element)g(of)g(array)i Fi(@var)g Fj(\(the)e
  399. XFi([])h Fj(are)g(part)g(of)f(it\))354 2155 y Fi($)q(var{)q('Feb'})79
  400. Xb Fj(one)12 b(value)f(from)g(associative)g(array)h Fi(\045var)354
  401. X2220 y($)q(#var)242 b Fj(last)11 b(index)g(of)g(array)i Fi(@var)354
  402. X2285 y(@var)270 b Fj(the)11 b(entire)h(array;)732 2341 y(in)f(scalar)h
  403. X(context:)f(the)g(number)g(of)g(elements)g(in)g(the)g(array)354
  404. X2406 y Fi(@var[3,4)q(,5])80 b Fj(a)12 b(slice)f(of)h(the)f(array)h
  405. XFi(@var)354 2471 y(@var{)r('a','b'})25 b Fj(a)12 b(slice)f(of)h
  406. XFi(\045var)p Fj(;)g(same)f(as)h Fi(\($var{'a')q(},$)q(va)q(r{')q(b'})q(\))354
  407. X2535 y(\045)q(var)269 b Fj(the)11 b(entire)h(associative)f(array;)732
  408. X2592 y(in)g(scalar)h(context:)f(TRUE)g(if)h(the)f(array)h(has)f(elements)354
  409. X2657 y Fi($)q(var{)q('a',1,...)q(})24 b Fj(emulates)11 b(a)g
  410. X(multi-dimensional)e(array)354 2721 y Fi(\('a'..'z)q('\)[)q(4,7)q(,9)q(])732
  411. X2778 y Fj(a)j(slice)f(of)h(an)f(array)h(literal)354 2843 y
  412. XFi(*)p Ff(NAME)230 b Fj(refers)13 b(to)e(all)g(objects)f(represented)i(by)f
  413. XFf(NAME)p Fj(.)g(\252)p Fi(*name1)30 b(=)732 2899 y(*name2)p
  414. XFj(\272)14 b(makes)d Fi(name1)j Fj(a)e(reference)h(to)e Fi(name2)p
  415. XFj(.)p 354 3018 1512 3 v 1838 3065 a Fg(2)p eop
  416. X%%Page: 3 5
  417. Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  418. X3 v 355 -2 a Fl(4.)19 b(Statements)p 355 19 1512 2 v 354 119
  419. Xa Fj(Every)12 b(statement)e(is)h(an)h(expression,)f(optionally)e(followed)i
  420. X(by)g(a)h(modi\256er)n(,)g(and)354 176 y(terminated)f(by)g(a)h(semicolon.)e
  421. X(The)i(semicolon)e(may)h(be)g(omitted)f(if)i(the)f(statement)f(is)h(the)354
  422. X232 y(\256nal)h(one)f(in)g(a)h(BLOCK.)354 297 y(Execution)f(of)g(expressions)
  423. Xg(can)h(depend)f(on)g(other)g(expressions)g(using)f(one)h(of)h(the)354
  424. X354 y(modi\256ers)f Fd(if)p Fj(,)g Fd(unless)p Fj(,)i Fd(while)e
  425. XFj(or)g Fd(until)p Fj(,)h(e.g.:)400 418 y Ff(EXPR1)f Fd(if)f
  426. XFf(EXPR2)h Fi(;)400 475 y Ff(EXPR1)g Fd(until)g Ff(EXPR2)f
  427. XFi(;)354 540 y Fj(Also,)h(by)g(using)g(one)g(of)h(the)f(logical)g(operators)g
  428. XFi(||)q Fj(,)h Fi(&&)g Fj(or)f Fi(?)28 b(:)p Fj(,)12 b(e.g.:)400
  429. X604 y Ff(EXPR1)f Fi(||)h Ff(EXPR2)e Fi(;)400 661 y Ff(EXPR1)h
  430. XFi(?)g Ff(EXPR2)g Fi(:)h Ff(EXPR3)e Fi(;)354 725 y Fj(Statements)h(can)h(be)f
  431. X(combined)g(to)g(form)g(a)h Ff(BLOCK)f Fj(when)g(enclosed)g(in)g
  432. XFi({})p Fj(.)354 790 y(Compound)g(statements)f(may)h(be)g(used)h(to)f
  433. X(control)f(\257ow:)400 855 y Fd(if)h Fi(\()p Ff(EXPR)p Fi(\))g
  434. XFf(BLOCK)g Fj([)h([)f Fd(elsif)g Fi(\()p Ff(EXPR)p Fi(\))g
  435. XFf(BLOCK)g(...)f Fj(])i Fd(else)f Ff(BLOCK)g Fj(])400 911 y
  436. XFd(unless)h Fi(\()p Ff(EXPR)p Fi(\))f Ff(BLOCK)g Fj([)h Fd(else)f
  437. XFf(BLOCK)g Fj(])400 968 y([)h Ff(LABEL)p Fd(:)e Fj(])i Fd(while)f
  438. XFi(\()p Ff(EXPR)p Fi(\))g Ff(BLOCK)g Fj([)h Fd(continue)g Ff(BLOCK)f
  439. XFj(])400 1024 y([)h Ff(LABEL)p Fd(:)e Fj(])i Fd(until)f Fi(\()p
  440. XFf(EXPR)p Fi(\))g Ff(BLOCK)g Fj([)h Fd(continue)g Ff(BLOCK)f
  441. XFj(])400 1081 y([)h Ff(LABEL)p Fd(:)e Fj(])i Fd(for)f Fi(\()p
  442. XFf(EXPR)p Fi(;)h Ff(EXPR)p Fi(;)f Ff(EXPR)p Fi(\))f Ff(BLOCK)400
  443. X1137 y Fj([)i Ff(LABEL)p Fd(:)e Fj(])i Fd(foreach)g Ff(V)m(AR)p
  444. XFe(y)o Fi(\()p Ff(ARRA)m(Y)p Fi(\))f Ff(BLOCK)400 1194 y Fj([)h
  445. XFf(LABEL)p Fd(:)e Fj(])i Ff(BLOCK)f Fj([)g Fd(continue)24 b
  446. XFf(BLOCK)12 b Fj(])354 1258 y(Special)g(forms)f(are:)400 1323
  447. Xy Fd(do)h Ff(BLOCK)f Fd(while)h Ff(EXPR)e Fi(;)400 1380 y Fd(do)i
  448. XFf(BLOCK)f Fd(until)g Ff(EXPR)g Fi(;)354 1436 y Fj(which)g(are)i(guaranteed)e
  449. X(to)g(perform)h Ff(BLOCK)f Fj(once)g(before)h(testing)f Ff(EXPR)p
  450. XFj(.)355 1559 y Fl(5.)19 b(Flow)h(control)p 355 1580 V 354
  451. X1681 a Fd(do)12 b Ff(BLOCK)472 1737 y Fj(Returns)g(the)f(value)g(of)h(the)f
  452. X(last)g(command)f(in)h(the)h(sequence)f(of)h(commands)472 1794
  453. Xy(indicated)f(by)g Ff(BLOCK)p Fj(.)h Fd(next)p Fj(,)g Fd(last)f
  454. XFj(and)g Fd(redo)i Fj(cannot)e(be)g(used)h(here.)354 1859 y
  455. XFd(do)g Ff(SUBROUTINE)p Fd(\(LIST\))472 1915 y Fj(Executes)g(a)f
  456. XFf(SUBROUTINE)g Fj(declared)h(by)f(a)h Fd(sub)g Fj(declaration,)g(and)f
  457. X(returns)g(the)472 1971 y(value)h(of)f(the)g(last)g(expression)g(evaluated)g
  458. X(in)g Ff(SUBROUTINE)g Fj(.)472 2028 y(Preferred)j(form)d(is:)f
  459. XFi(&)p Ff(SUBROUTINE)h Fj(.)354 2093 y Fd(do)h Ff(FILENAME)472
  460. X2149 y Fj(Executes)g(the)f(contents)g(of)g Ff(FILENAME)f Fj(as)h(a)h(perl)g
  461. X(script.)f(Errors)g(are)i(returned)e(in)472 2206 y Fi($@)p
  462. XFj(.)472 2262 y(Preferred)j(form)d(is:)f Fd(require)j Ff(FILENAME)d
  463. XFj(.)354 2327 y Fd(goto)j Ff(LABEL)472 2383 y Fj(Continue)e(execution)g(at)h
  464. X(the)f(speci\256ed)h(label.)354 2448 y Fd(last)f Fj([)p Ff(LABEL)p
  465. XFj(])472 2504 y(Immediately)g(exits)f(the)i(loop)e(in)h(question.)g(Skips)g
  466. X(continue)f(block.)354 2569 y Fd(next)i Fj([)p Ff(LABEL)p Fj(])472
  467. X2626 y(Starts)g(the)f(next)g(iteration)g(of)g(the)g(loop.)354
  468. X2690 y Fd(redo)i Fj([)p Ff(LABEL)p Fj(])472 2747 y(Restarts)f(the)f(loop)g
  469. X(block)g(without)f(evaluating)g(the)h(conditional)f(again.)354
  470. X2812 y Fd(return)j Ff(EXPR)472 2868 y Fj(Returns)f(from)f(a)h(subroutine)e
  471. X(with)h(the)g(value)g(speci\256ed.)p 354 3018 1512 3 v 354
  472. X3065 a Fg(3)p eop
  473. X%%Page: 4 6
  474. Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  475. X3 v 355 -2 a Fl(6.)19 b(Operators)p 355 19 1512 2 v 354 119
  476. Xa Fi(+)28 b(-)g(*)g(/)g Fj(Addition,)10 b(subtraction,)g(multiplication,)g
  477. X(division.)354 176 y Fi(\045)193 b Fj(Modulo)10 b(division.)354
  478. X232 y Fi(|)i(&)44 b(\303)83 b Fj(Bitwise)10 b(or)n(,)j(bitwise)d(and,)i
  479. X(bitwise)e(exclusive)h(or)m(.)354 289 y Fi(>>)56 b(<<)g Fj(Bitwise)10
  480. Xb(shift)h(right,)g(bitwise)f(shift)h(left.)354 345 y Fi(**)166
  481. Xb Fj(Exponentiation.)354 402 y Fi(.)193 b Fj(Concatenation)11
  482. Xb(of)g(two)g(strings.)354 458 y Fd(x)197 b Fj(Returns)11 b(a)h(string)e(or)i
  483. X(array)g(consisting)d(of)j(the)f(left)g(operand)h(\(an)g(array)g(or)574
  484. X515 y(a)f(string\))g(repeated)h(the)f(number)g(of)g(times)g(speci\256ed)h(by)
  485. Xf(the)g(right)g(operand.)354 579 y(All)g(of)h(the)f(above)g(operators)h(also)
  486. Xf(have)g(an)h(assignment)e(operator)n(,)i(e.g.)g(\252)p Fi(.=)p
  487. XFj(\272.)354 644 y Fi(++)56 b(--)g Fj(Auto-increment)10 b(\(magical)h(on)g
  488. X(strings\),)g(auto-decrement.)354 701 y Fi(?)28 b(:)138 b Fj(Alternation)10
  489. Xb(\(if-then-else\))i(operator)m(.)354 757 y Fi(|)q(|)55 b(&&)h
  490. XFj(Logical)10 b(or)n(,)i(logical)f(and.)354 813 y Fi(=)d(=)48
  491. Xb(!=)56 b Fj(Numeric)11 b(equality)m(,)g(inequality)m(.)354
  492. X870 y Fd(eq)62 b(ne)g Fj(String)11 b(equality)m(,)g(inequality)m(.)354
  493. X926 y Fi(<)83 b(>)g Fj(Numeric)11 b(less)g(than,)g(greater)h(than.)354
  494. X983 y Fd(lt)84 b(gt)71 b Fj(String)11 b(less)f(than,)i(greater)g(than.)354
  495. X1039 y Fi(<=)56 b(>=)g Fj(Numeric)11 b(less)g(\(greater\))h(than)f(or)h
  496. X(equal)f(to.)354 1096 y Fd(le)75 b(ge)62 b Fj(String)11 b(less)f(\(greater\))
  497. Xj(than)e(or)h(equal.)354 1152 y Fi(<=>)139 b Fj(Numeric)11
  498. Xb(compare.)h(Returns)f(-1,)h(0)f(or)h(1.)354 1209 y Fd(cmp)135
  499. Xb Fj(String)11 b(compare.)h(Returns)f(-1,)h(0)f(or)h(1.)354
  500. X1265 y Fi(=\304)56 b(!\304)g Fj(Search)12 b(pattern,)g(substitution,)d(or)i
  501. X(translation)f(\(negated\).)354 1322 y Fi(..)166 b Fj(Enumeration,)10
  502. Xb(also)h(input)g(line)f(range)i(operator)m(.)354 1378 y Fi(,)193
  503. Xb Fj(Comma)11 b(operator)m(.)355 1508 y Fl(7.)19 b(File)g(test)j(operators)p
  504. X355 1529 V 354 1630 a Fj(These)12 b(unary)f(operators)g(takes)h(one)f(ar)o
  505. X(gument,)h(either)f(a)h(\256lename)f(or)h(a)f(\256lehandle,)h(and)354
  506. X1686 y(tests)f(the)g(associated)g(\256le)h(to)f(see)h(if)f(something)f(is)h
  507. X(true)g(about)g(it.)g(If)h(the)f(ar)o(gument)g(is)354 1743
  508. Xy(omitted,)g(tests)f Fi($_)j Fj(\(except)e(for)h Fi(-t,)h Fj(which)e(tests)f
  509. XFi(STDIN)p Fj(\).)k(If)e(the)f(special)g(ar)o(gument)h Fi(_)354
  510. X1799 y Fj(\(underscore\))g(is)f(passed,)h(uses)f(the)g(info)g(of)h(the)f
  511. X(preceding)g(test.)354 1864 y Fi(-r)29 b(-w)f(-x)77 b Fj(File)11
  512. Xb(is)g(readable/writable/executable)g(by)g(ef)o(fective)i(uid/gid.)354
  513. X1929 y Fi(-R)29 b(-W)f(-X)77 b Fj(File)11 b(is)g
  514. X(readable/writable/executable)g(by)g(real)h(uid/gid.)354 1993
  515. Xy Fi(-o)29 b(-O)159 b Fj(File)11 b(is)g(owned)g(by)g(ef)o(fective/real)i
  516. X(uid.)354 2058 y Fi(-e)29 b(-z)159 b Fj(File)11 b(exists)g(/)g(has)g(zero)h
  517. X(size.)354 2123 y Fi(-s)242 b Fj(File)11 b(exists)g(and)g(has)g(non-zero)h
  518. X(size.)g(Returns)f(the)g(size.)354 2188 y Fi(-f)29 b(-d)159
  519. Xb Fj(File)11 b(is)g(a)h(plain)e(\256le,)j(a)e(directory)m(.)354
  520. X2252 y Fi(-l)29 b(-S)f(-p)77 b Fj(File)11 b(is)g(a)h(symbolic)d(link,)i(a)h
  521. X(socket,)g(a)f(named)g(pipe)g(\(FIFO\).)354 2317 y Fi(-b)29
  522. Xb(-c)159 b Fj(File)11 b(is)g(a)h(block/character)g(special)f(\256le.)354
  523. X2382 y Fi(-u)29 b(-g)f(-k)77 b Fj(File)11 b(has)g(setuid/setgid/sticky)d(bit)
  524. Xj(set.)354 2447 y Fi(-t)242 b Fj(T)m(ests)10 b(if)i(\256lehandle)f(\()p
  525. XFi(STDIN)j Fj(by)d(default\))g(is)g(opened)g(to)g(a)h(tty)m(.)354
  526. X2512 y Fi(-T)29 b(-B)159 b Fj(File)11 b(is)g(a)h(text/non-text)d(\(binary\))j
  527. X(\256le.)g Fi(-T)g Fj(and)g Fi(-B)g Fj(return)f(TRUE)h(on)f(a)650
  528. X2568 y(null)f(\256le,)i(or)g(a)f(\256le)h(at)g(EOF)f(when)h(testing)e(a)h
  529. X(\256lehandle.)354 2633 y Fi(-M)29 b(-A)f(-C)77 b Fj(File)11
  530. Xb(creation)h(/)f(access)h(/)f(inode)g(change)g(time.)g(Measured)h(in)f(days)g
  531. X(since)650 2689 y(this)f(program)h(started.)h(See)g(also)f
  532. XFi($\303T)i Fj(in)e(section)f(\252Special)i(V)-5 b(ariables\272.)p
  533. X354 3018 1512 3 v 1838 3065 a Fg(4)p eop
  534. X%%Page: 5 7
  535. Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  536. X3 v 354 -12 a Fj(A)f Ff(LIST)f Fj(is)g(a)g(\(possibly)f(parenthesised\))h
  537. X(list)g(of)g(expressions,)g(variables)g(or)h Ff(LIST)p Fj(s.)f(An)354
  538. X45 y(array)i(variable)e(or)g(an)h(array)g(slice)f(may)g(always)h(be)f(used)g
  539. X(instead)g(of)g(a)h Ff(LIST)p Fj(.)355 168 y Fl(8.)19 b(Arithmetic)i
  540. X(functions)p 355 189 1512 2 v 354 290 a Fd(atan2\()p Ff(Y)p
  541. XFd(,)p Ff(X)p Fd(\))472 346 y Fj(Returns)12 b(the)f(arctangent)h(of)f
  542. XFf(Y)p Fj(/)p Ff(X)g Fj(in)g(the)g(range)h(-)p Fc(\031)h Fj(to)e
  543. XFc(\031)r Fj(.)354 411 y Fd(cos\()p Ff(EXPR)p Fe(y)o Fd(\))p
  544. XFj(*)472 467 y(Returns)h(the)f(cosine)g(of)h Ff(EXPR)e Fj(\(expressed)i(in)f
  545. X(radians\).)354 532 y Fd(exp\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472
  546. X588 y(Returns)h Fi(e)g Fj(to)f(the)g(power)g(of)h Ff(EXPR)p
  547. XFj(.)354 653 y Fd(int\()p Ff(EXPR)p Fe(y)n Fd(\))p Fj(*)472
  548. X710 y(Returns)g(the)f(integer)g(portion)g(of)g Ff(EXPR)p Fj(.)354
  549. X774 y Fd(log\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472 831 y(Returns)h(natural)f
  550. X(logarithm)f(\(base)i Fi(e)p Fj(\))g(of)f Ff(EXPR)p Fj(.)354
  551. X896 y Fd(rand)p Fj([)p Fd(\()p Ff(EXPR)p Fd(\))p Fj(*])472
  552. X952 y(Returns)h(a)g(random)f(fractional)g(number)g(between)g(0)h(and)f(the)g
  553. X(value)h(of)f Ff(EXPR)p Fj(.)g(If)472 1008 y Ff(EXPR)g Fj(is)g(omitted,)f
  554. X(returns)h(a)h(value)f(between)h(0)f(and)h(1.)354 1073 y Fd(sin\()p
  555. XFf(EXPR)p Fe(y)n Fd(\))p Fj(*)472 1130 y(Returns)g(the)f(sine)g(of)h
  556. XFf(EXPR)e Fj(\(expressed)i(in)f(radians\).)354 1194 y Fd(sqrt\()p
  557. XFf(EXPR)p Fe(y)o Fd(\))p Fj(*)472 1251 y(Return)h(the)f(square)h(root)f(of)g
  558. XFf(EXPR)p Fj(.)354 1316 y Fd(srand)p Fj([)p Fd(\()p Ff(EXPR)p
  559. XFd(\))p Fj(*])472 1372 y(Sets)h(the)f(random)g(number)g(seed)h(for)f(the)g
  560. X(rand)h(operator)m(.)354 1437 y Fd(time)32 b Fj(Returns)12
  561. Xb(the)f(number)g(of)g(seconds)g(since)h(January)f(1,)h(1970.)f(Suitable)g
  562. X(for)h(feeding)472 1493 y(to)f Fd(gmtime)g Fj(and)h Fd(localtime)p
  563. XFj(.)355 1618 y Fl(9.)19 b(Conversion)i(functions)p 355 1639
  564. XV 354 1740 a Fd(gmtime\()p Ff(EXPR)p Fd(\))p Fj(*)472 1796
  565. Xy(Converts)12 b(a)f(time)g(as)g(returned)h(by)f(the)g Fd(time)g
  566. XFj(function)g(to)g(a)g(9-element)g(array)i(\()p Fi($)p Fj(sec,)472
  567. X1852 y Fi($)q Fj(min,)e Fi($)p Fj(hour)n(,)h Fi($)p Fj(mday)m(,)g
  568. XFi($)p Fj(mon,)f Fi($)p Fj(year)n(,)i Fi($)p Fj(wday)m(,)f
  569. XFi($)q Fj(yday)m(,)f Fi($)q Fj(isdst\))f(with)g(the)i(time)472
  570. X1909 y(analyzed)g(for)g(the)f(Greenwich)h(timezone.)f Fi($)p
  571. XFj(mon)g(has)g(the)g(range)h(0..11)g(and)f Fi($)q Fj(wday)472
  572. X1965 y(has)h(the)f(range)h(0..6.)354 2030 y Fd(hex\()p Ff(EXPR)p
  573. XFe(y)o Fd(\))p Fj(*)472 2087 y(Returns)g(the)f(decimal)g(value)g(of)h
  574. XFf(EXPR)e Fj(interpreted)i(as)f(an)h(hex)f(string.)354 2151
  575. Xy Fd(localtime\()p Ff(EXPR)p Fd(\))p Fj(*)472 2208 y(Converts)h(a)f(time)g
  576. X(as)g(returned)h(by)f(the)g Fd(time)g Fj(function)g(to)g(a)g(9-element)g
  577. X(array)i(with)472 2264 y(the)f(time)e(analyzed)i(for)g(the)f(local)g
  578. X(timezone.)354 2329 y Fd(oct\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472
  579. X2385 y(Returns)h(the)f(decimal)g(value)g(of)h Ff(EXPR)e Fj(interpreted)i(as)f
  580. X(an)h(octal)f(string.)g(If)g Ff(EXPR)472 2442 y Fj(starts)g(of)o(f)h(with)f
  581. XFi(0x)p Fj(,)h(interprets)f(it)g(as)g(a)h(hex)f(string)g(instead.)354
  582. X2507 y Fd(ord\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472 2563 y(Returns)h(the)f
  583. X(ascii)g(value)h(of)f(the)g(\256rst)h(character)g(of)g Ff(EXPR)p
  584. XFj(.)354 2628 y Fd(vec\()p Ff(EXPR)p Fd(,)p Ff(OFFSET)p Fd(,)p
  585. XFf(BITS)p Fd(\))472 2684 y Fj(T)n(reats)g Ff(EXPR)f Fj(as)g(a)h(string)e(of)i
  586. X(unsigned)e(ints,)h(and)g(yields)g(the)g(bit)g(at)g Ff(OFFSET)p
  587. XFj(.)472 2741 y Ff(BITS)g Fj(must)f(be)i(between)f(1)h(and)f(32.)h(May)f(be)g
  588. X(used)g(as)h(an)f(lvalue.)p 354 3018 1512 3 v 354 3065 a Fg(5)p
  589. Xeop
  590. X%%Page: 6 8
  591. Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  592. X3 v 355 -2 a Fl(10.)19 b(Structure)k(conversion)p 355 19 1512
  593. X2 v 354 119 a Fd(pack\()p Ff(TEMPLA)m(TE)p Fd(,)p Ff(LIST)p
  594. XFd(\))472 176 y Fj(Packs)12 b(the)g(values)f(into)f(a)i(binary)f(structure)g
  595. X(using)f Ff(TEMPLA)m(TE)p Fj(.)354 241 y Fd(unpack\()p Ff(TEMPLA)m(TE)p
  596. XFd(,)p Ff(EXPR)p Fd(\))472 297 y Fj(Unpacks)i(the)f(structure)g
  597. XFf(EXPR)f Fj(into)h(an)g(array)m(,)i(using)d Ff(TEMPLA)m(TE)p
  598. XFj(.)472 362 y Ff(TEMPLA)m(TE)h Fj(is)g(a)g(sequence)h(of)g(characters)g(as)g
  599. X(follows:)527 427 y Fi(a)28 b Fj(/)42 b Fi(A)55 b Fj(Ascii)11
  600. Xb(string,)g(null)f(/)h(space)h(padded)527 483 y Fi(b)28 b Fj(/)42
  601. Xb Fi(B)55 b Fj(Bit)11 b(string)g(in)g(ascending)g(/)g(descending)g(order)527
  602. X540 y Fi(c)28 b Fj(/)42 b Fi(C)55 b Fj(Native)11 b(/)g(unsigned)g(char)h
  603. X(value)527 596 y Fi(f)28 b Fj(/)42 b Fi(d)55 b Fj(Single)11
  604. Xb(/)g(double)g(\257oat)h(in)f(native)g(format)527 652 y Fi(h)28
  605. Xb Fj(/)42 b Fi(H)55 b Fj(Hex)12 b(string,)e(low)h(/)g(high)g(nybble)g
  606. X(\256rst.)527 709 y Fi(i)28 b Fj(/)42 b Fi(I)55 b Fj(Signed)11
  607. Xb(/)g(unsigned)g(integer)g(value)527 765 y Fi(l)28 b Fj(/)42
  608. Xb Fi(L)55 b Fj(Signed)11 b(/)g(unsigned)g(long)f(value)527
  609. X822 y Fi(n)28 b Fj(/)42 b Fi(N)55 b Fj(Short)11 b(/)g(long)g(in)g(network)g
  610. X(\(big)g(endian\))g(byte)g(order)527 878 y Fi(s)28 b Fj(/)42
  611. Xb Fi(S)55 b Fj(Signed)11 b(/)g(unsigned)g(short)f(value)527
  612. X935 y Fi(u)28 b Fj(/)42 b Fi(p)55 b Fj(Uuencoded)11 b(string)g(/)g(Pointer)g
  613. X(to)g(a)h(string)527 991 y Fi(v)28 b Fj(/)42 b Fi(V)55 b Fj(Short)11
  614. Xb(/)g(long)g(in)g(V)-6 b(AX)11 b(\(little)g(endian\))g(byte)g(order)527
  615. X1048 y Fi(x)28 b Fj(/)42 b Fi(@)55 b Fj(Null)11 b(byte)g(/)g(null)f(\256ll)h
  616. X(until)g(position)527 1104 y Fi(X)165 b Fj(Backup)12 b(a)g(byte)472
  617. X1169 y(Each)g(character)h(may)e(be)g(followed)g(by)g(a)h(decimal)f(number)g
  618. X(which)g(will)f(be)i(used)f(as)472 1225 y(a)h(repeat)g(count,)f(an)h
  619. XFi(*)g Fj(speci\256es)f(all)g(remaining)g(ar)o(guments.)472
  620. X1282 y(If)h(the)f(format)h(is)f(preceded)h(with)e Fi(\045)p
  621. XFf(N)p Fj(,)j Fd(unpack)f Fj(returns)f(an)h Ff(N)p Fj(-bit)f(checksum)472
  622. X1338 y(instead.)472 1395 y(Spaces)i(may)e(be)g(included)g(in)g(the)g
  623. X(template)g(for)g(readability)g(purposes.)355 1518 y Fl(11.)19
  624. Xb(String)i(functions)p 355 1539 V 354 1639 a Fd(chop\()p Ff(LIST)p
  625. XFe(y)p Fd(\))472 1696 y Fj(Chops)12 b(of)o(f)f(the)h(last)e(character)j(on)e
  626. X(all)g(elements)g(of)h(the)f(list;)f(returns)h(the)g(last)472
  627. X1752 y(chopped)h(character)m(.)h(The)f(parentheses)f(may)g(be)h(omitted)e(if)
  628. Xh Ff(LIST)g Fj(is)g(a)h(single)472 1809 y(variable.)354 1873
  629. Xy Fd(crypt\()p Ff(PLAINTEXT)p Fd(,)p Ff(SAL)m(T)p Fd(\))472
  630. X1930 y Fj(Encrypts)f(a)h(string.)354 1995 y Fd(eval\()p Ff(EXPR)p
  631. XFe(y)n Fd(\))p Fj(*)472 2051 y Ff(EXPR)f Fj(is)g(parsed)g(and)h(executed)f
  632. X(as)h(if)f(it)g(were)h(a)g(perl)f(program.)h(The)f(value)472
  633. X2108 y(returned)h(is)f(the)g(value)g(of)h(the)f(last)g(expression)g
  634. X(evaluated.)g(If)h(there)g(is)f(a)h(syntax)472 2164 y(error)h(or)e(runtime)g
  635. X(error)n(,)h(an)g(unde\256ned)f(string)g(is)g(returned)g(by)g
  636. XFd(eval)p Fj(,)h(and)f Fi($@)h Fj(is)f(set)472 2221 y(to)g(the)h(error)g
  637. X(message.)354 2285 y Fd(eval)p Fa({)p Ff(EXPR)p Fd(;...)p Fa(})472
  638. X2342 y Fj(Executes)e(the)g(code)g(between)g Fi({)g Fj(and)g
  639. XFi(})p Fj(.)h(T)n(raps)f(runtime)f(errors)h(as)g(described)g(above.)354
  640. X2406 y Fd(index\()p Ff(STR)p Fd(,)p Ff(SUBSTR)p Fj([)p Fd(,)p
  641. XFf(OFFSET)p Fj(])p Fd(\))472 2463 y Fj(Returns)h(the)g(position)e(of)i
  642. XFf(SUBSTR)f Fj(in)g Ff(STR)h Fj(at)g(or)g(after)g Ff(OFFSET)p
  643. XFj(.)h(If)f(the)g(substring)472 2519 y(is)g(not)g(found,)g(returns)h
  644. XFi($[-1)p Fj(.)354 2584 y Fd(length\()p Ff(EXPR)p Fe(y)o Fd(\))p
  645. XFj(*)472 2641 y(Returns)g(the)f(length)g(in)g(characters)h(of)g(the)f(value)g
  646. X(of)h Ff(EXPR)p Fj(.)354 2705 y Fd(rindex\()p Ff(STR)p Fd(,)p
  647. XFf(SUBSTR)p Fj([)p Fd(,)p Ff(OFFSET)p Fj(])p Fd(\))472 2762
  648. Xy Fj(Returns)g(the)f(position)f(of)h(the)g(last)g Ff(SUBSTR)g
  649. XFj(in)g Ff(STR)g Fj(at)h(or)f(before)h Ff(OFFSET)p Fj(.)354
  650. X2827 y Fd(substr\()p Ff(EXPR)p Fd(,)p Ff(OFFSET)p Fj([)p Fd(,)p
  651. XFf(LEN)p Fj(])p Fd(\))472 2883 y Fj(Extracts)f(a)h(substring)e(out)h(of)g
  652. XFf(EXPR)g Fj(and)g(returns)g(it.)h(If)f Ff(OFFSET)i Fj(is)d(negative,)472
  653. X2939 y(counts)h(from)g(the)g(end)h(of)f(the)g(string.)g(May)g(be)h(used)f(as)
  654. Xh(an)f(lvalue.)p 354 3018 1512 3 v 1838 3065 a Fg(6)p eop
  655. X%%Page: 7 9
  656. Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  657. X3 v 355 -2 a Fl(12.)19 b(Array)i(and)f(list)g(functions)p 355
  658. X19 1512 2 v 354 119 a Fd(delete)12 b Fi($)p Ff(ARRA)m(Y)p Fi({)o
  659. XFf(KEY)p Fi(})472 176 y Fj(Deletes)g(the)f(speci\256ed)h(value)f(from)g(the)g
  660. X(speci\256ed)h(associative)f(array)m(.)i(Returns)e(the)472
  661. X232 y(deleted)h(value.)354 297 y Fd(each\()p Fi(\045)q Ff(ARRA)m(Y)p
  662. XFd(\))p Fj(*)472 354 y(Returns)g(a)g(2-element)f(array)h(consisting)d(of)j
  663. X(the)f(key)g(and)h(value)f(for)h(the)f(next)g(value)472 410
  664. Xy(of)h(an)f(associative)g(array)m(.)i(Entries)e(are)h(returned)f(in)g(an)h
  665. X(apparently)f(random)g(order)m(.)472 466 y(When)h(the)f(array)h(is)f
  666. X(entirely)g(read,)i(a)e(null)g(array)h(is)f(returned.)h(The)f(next)g(call)h
  667. X(to)472 523 y Fd(each)g Fj(after)h(that)d(will)h(start)g(iterating)g(again.)
  668. X354 588 y Fd(grep\()p Ff(EXPR)p Fd(,)p Ff(LIST)p Fd(\))472
  669. X644 y Fj(Evaluates)g Ff(EXPR)g Fj(for)g(each)i(element)e(of)g(the)g
  670. XFf(LIST)p Fj(,)h(locally)e(setting)h Fi($_)h Fj(to)f(refer)h(to)472
  671. X701 y(the)g(element.)f(Modifying)f Fi($_)i Fj(will)e(modify)h(the)g
  672. X(corresponding)g(element)g(from)472 757 y Ff(LIST)p Fj(.)h(Returns)f(array)i
  673. X(of)e(elements)g(from)g Ff(LIST)g Fj(for)h(which)f Ff(EXPR)f
  674. XFj(returned)i(true.)354 822 y Fd(join\()p Ff(EXPR)p Fd(,)p
  675. XFf(LIST)p Fd(\))472 878 y Fj(Joins)e(the)h(separate)h(strings)e(of)h
  676. XFf(LIST)g Fj(into)f(a)h(single)g(string)f(with)g(\256elds)h(separated)g(by)
  677. X472 935 y(the)h(value)f(of)g Ff(EXPR)p Fj(,)g(and)h(returns)f(the)g(string.)
  678. X354 999 y Fd(keys\()p Fi(\045)q Ff(ARRA)m(Y)p Fd(\))p Fj(*)472
  679. X1056 y(Returns)h(an)f(array)i(with)d(of)i(all)f(the)g(keys)g(of)h(the)f
  680. X(named)g(associative)g(array)m(.)354 1121 y Fd(pop\()p Fi(@)p
  681. XFf(ARRA)m(Y)p Fd(\))p Fj(*)472 1177 y(Pops)h(and)f(returns)g(the)g(last)g
  682. X(value)h(of)f(the)g(array)m(,)i(shortens)e(the)g(array)h(by)f(1.)354
  683. X1242 y Fd(push\()p Fi(@)p Ff(ARRA)m(Y)p Fd(,)p Ff(LIST)p Fd(\))472
  684. X1298 y Fj(Pushes)h(the)f(values)g(of)g Ff(LIST)h Fj(onto)e(the)h(end)h(of)f
  685. XFf(ARRA)m(Y)p Fj(.)g(The)g(length)g(of)g(the)h(array)472 1355
  686. Xy(increases)g(by)f(the)h(length)e(of)i Ff(LIST)p Fj(.)354 1420
  687. Xy Fd(reverse\()p Ff(LIST)p Fd(\))p Fj(*)472 1476 y(In)g(array)g(context:)f
  688. X(returns)g(the)g Ff(LIST)g Fj(in)g(reverse)h(order)m(.)472
  689. X1532 y(In)g(scalar)g(context:)e(returns)i(the)f(\256rst)g(element)g(of)h
  690. XFf(LIST)f Fj(with)f(bytes)h(reversed.)354 1597 y Fd(scalar\()p
  691. XFi(@)p Ff(ARRA)m(Y)p Fd(\))472 1654 y Fj(Returns)h(the)f(number)g(of)g
  692. X(elements)g(in)g(the)g(array)m(.)354 1718 y Fd(scalar\()p Fi(\045)q
  693. XFf(ARRA)m(Y)p Fd(\))472 1775 y Fj(Returns)h(TRUE)g(if)f(the)g(associative)g
  694. X(array)h(has)f(elements)g(de\256ned.)354 1840 y Fd(shift)p
  695. XFj([)p Fd(\()p Fi(@)p Ff(ARRA)m(Y)p Fd(\))p Fj(*])472 1896
  696. Xy(Shifts)g(the)h(\256rst)f(value)g(of)h(the)f(array)h(of)o(f)g(and)f(returns)
  697. Xh(it,)f(shortening)f(the)h(array)i(by)e(1)472 1953 y(and)h(moving)e
  698. X(everything)g(down.)i(If)g Fi(@)p Ff(ARRA)m(Y)e Fj(is)h(omitted,)g(shifts)f
  699. XFi(@ARGV)j Fj(in)e(main)472 2009 y(and)h Fi(@_)g Fj(in)f(subroutines.)354
  700. X2074 y Fd(sort\()h Fj([)p Ff(SUBROUTINE)f Fj(])g Ff(LIST)p
  701. XFd(\))p Fj(*)472 2130 y(Sorts)h(the)f Ff(LIST)g Fj(and)g(returns)h(the)f
  702. X(sorted)g(array)h(value.)g(If)g Ff(SUBROUTINE)e Fj(is)472 2187
  703. Xy(speci\256ed,)j(gives)d(the)i(name)f(of)g(a)h(subroutine)e(that)h(returns)g
  704. X(less)g(than)g(zero,)i(zero,)f(or)472 2243 y(greater)h(than)e(zero,)h
  705. X(depending)f(on)g(how)g(the)g(elements)g(of)g(the)g(array)m(,)i(available)e
  706. X(to)472 2300 y(the)h(routine)e(as)i Fi($a)g Fj(and)f Fi($b)p
  707. XFj(,)i(are)f(to)f(be)h(ordered.)472 2356 y Ff(SUBROUTINE)f
  708. XFj(may)g(be)h(the)f(name)g(of)h(a)f(user)o(-de\256ned)h(routine,)g(or)f(a)h
  709. XFf(BLOCK)f Fj(\(see)472 2412 y(\252Statements\272)h(and)f
  710. X(\252Miscellaneous\272\).)354 2477 y Fd(splice\()p Fi(@)p Ff(ARRA)m(Y)p
  711. XFd(,)p Ff(OFFSET)p Fj([)p Fd(,)p Ff(LENGTH)p Fj([)p Fd(,)p
  712. XFf(LIST)p Fj(]])p Fd(\))472 2534 y Fj(Removes)h(the)f(elements)g(of)g
  713. XFi(@)p Ff(ARRA)m(Y)g Fj(designated)g(by)g Ff(OFFSET)h Fj(and)f
  714. XFf(LENGTH)p Fj(,)472 2590 y(and)h(replaces)g(them)f(with)f
  715. XFf(LIST)h Fj(\(if)h(speci\256ed\).)472 2647 y(Returns)g(the)f(elements)g
  716. X(removed.)354 2711 y Fd(split)p Fj([)p Fd(\()p Ff(P)m(A)m(TTERN)p
  717. XFj([)p Fd(,)p Ff(EXPR)p Fe(y)m Fj([)p Fd(,)p Ff(LIMIT)p Fj(]])p
  718. XFd(\))p Fj(])472 2768 y(Splits)g(a)h(string)e(into)h(an)g(array)h(of)g
  719. X(strings,)e(and)i(returns)f(it.)g(If)h Ff(LIMIT)e Fj(is)h(speci\256ed,)472
  720. X2824 y(splits)f(in)h(no)g(more)h(than)f(that)g(many)f(\256elds.)i(If)g
  721. XFf(P)m(A)m(TTERN)f Fj(is)g(also)g(omitted,)f(splits)472 2881
  722. Xy(on)i(whitespace.)f(If)h(not)f(in)g(array)h(context:)f(returns)g(number)g
  723. X(of)g(\256elds)g(and)h(splits)e(to)472 2937 y Fi(@_)p Fj(.)j(See)f(also:)f
  724. X(\252Search)i(and)e(Replace)i(Functions\272.)p 354 3018 1512
  725. X3 v 354 3065 a Fg(7)p eop
  726. X%%Page: 8 10
  727. Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
  728. X3 v 354 -12 a Fd(unshift\()p Fi(@)p Ff(ARRA)m(Y)p Fd(,)p Ff(LIST)p
  729. XFd(\))472 45 y Fj(Prepends)f(list)f(to)f(the)i(front)f(of)g(the)h(array)m(,)g
  730. X(and)g(returns)f(the)g(number)g(of)g(elements)g(in)472 101
  731. Xy(the)h(new)f(array)m(.)354 166 y Fd(values\()p Fi(\045)q Ff(ARRA)m(Y)p
  732. XFd(\))p Fj(*)472 222 y(Returns)h(a)g(normal)e(array)j(consisting)c(of)j(all)f
  733. X(the)g(values)g(of)g(the)h(named)f(associative)472 279 y(array)m(.)355
  734. X520 y Fl(13.)19 b(File)h(operations)p 355 541 1512 2 v 354
  735. X642 a Fj(Functions)11 b(operating)g(on)g(a)h(list)e(of)h(\256les)h(return)f
  736. X(the)g(number)g(of)h(\256les)f(successfully)354 698 y(operated)h(upon.)354
  737. X763 y Fd(chmod\()p Ff(LIST)p Fd(\))p Fj(*)472 819 y(Changes)g(the)f
  738. X(permissions)f(of)h(a)h(list)e(of)i(\256les.)g(The)f(\256rst)h(element)f(of)g
  739. END_OF_FILE
  740.   if test 42440 -ne `wc -c <'refbase.ps.A'`; then
  741.     echo shar: \"'refbase.ps.A'\" unpacked with wrong size!
  742.   elif test -f 'refbase.ps.B'; then
  743.     echo shar: Recreating \"'refbase.ps'\" \(85970 characters\)
  744.     cat 'refbase.ps.A' 'refbase.ps.B' > 'refbase.ps'
  745.     if test 85970 -ne `wc -c <'refbase.ps'`; then
  746.       echo shar: \"'refbase.ps'\" combined with wrong size!
  747.     else 
  748.       rm refbase.ps.A refbase.ps.B
  749.     fi 
  750.   fi 
  751.   # end of 'refbase.ps.A'
  752. fi
  753. if test -f 'refbase.sty' -a "${1}" != "-c" ; then 
  754.   echo shar: Will not clobber existing file \"'refbase.sty'\"
  755. else
  756.   echo shar: Extracting \"'refbase.sty'\" \(7030 characters\)
  757.   sed "s/^X//" >'refbase.sty' <<'END_OF_FILE'
  758. X%% refbase.sty -- standard style for Perl Reference Guide
  759. X%%
  760. X%% SCCS Status     : @(#)@ refbase.sty    4.2.5
  761. X%% Author          : Johan Vromans
  762. X%% Created On      : Wed Jul  3 13:58:33 1991
  763. X%% Last Modified By: Johan Vromans
  764. X%% Last Modified On: Wed Sep  2 14:29:21 1992
  765. X%% Update Count    : 188
  766. X%% Status          : OK
  767. X%%
  768. X%%%%%%%%%%%%%%%% Copyright %%%%%%%%%%%%%%%%
  769. X%
  770. X% The Perl Reference Guide and its associated files are 
  771. X%
  772. X% Copyright 1989, 1992 Johan Vromans.
  773. X%
  774. X% They may be used and reproduced under the terms of the
  775. X% GNU Public Licence. A copy of this licence should have 
  776. X% been included in your Perl source kit.
  777. X%
  778. X%%%%%%%%%%%%%%%% Disclaimer %%%%%%%%%%%%%%%%
  779. X%
  780. X% I'm not a TeX wizard. I stole some of the ideas from 
  781. X% Raymond Chen <raymond@math.berkeley.edu> and others.
  782. X%
  783. X%%%%%%%%%%%%%%%% Usage %%%%%%%%%%%%%%%%
  784. X%
  785. X% Usage:
  786. X%
  787. X%    \documentstyle[psfonts]{perlref}
  788. X%
  789. X%%%%%%%%%%%%%%%% Start of code %%%%%%%%%%%%%%%%
  790. X%
  791. X% Allow % to be printed (for SCCS keywords)
  792. X\catcode`\%=11
  793. X\def\perlrev{4.035}
  794. X\typeout{Document Style 'perlref' Version 2.5 for Perl \perlrev}
  795. X\def\refrev{\perlrev.\revision}
  796. X\typeout{Reference Guide revision is \refrev.}
  797. X\catcode`\%=14
  798. X%
  799. X%%%%%%%%%%%%%%%% Other Styles %%%%%%%%%%%%%%%%
  800. X%
  801. X\input article.sty        % standard LaTeX
  802. X\@twosidetrue            % format two-sided
  803. X\input art11.sty        % standard LaTeX
  804. X%
  805. X%%%%%%%%%%%%%%%% Selection of Fonts %%%%%%%%%%%%%%%%
  806. X%
  807. X\let\makeuppage=\relax
  808. X\def\makeupspace#1{\relax}
  809. X%
  810. X% >>>> Comment out the rest of this section 
  811. X% >>>> if you don't have dvips
  812. X% >>>> You will probably have to change \topmargin,
  813. X% >>>> \{odd,even}sidemargin and \textheight in the next 
  814. X% >>>> section as well.
  815. X%
  816. X\ifx\selectfont\undefined
  817. X    \typeout{Configuring for dvips 5.47 and PostScript fonts}
  818. X    \def\@mrm{ptmr}        % times - roman
  819. X    \def\@mit{ptmri}        % times - italic
  820. X    \def\@msl{phvbo}        % helvetica - bold oblique
  821. X    \def\@mbf{phvb}        % helvetica - bold
  822. X    \def\@mcsc{ptmrc}        % times - roman - small caps
  823. X    \def\@mtt{pcrb}        % courier bold
  824. X    \def\@mss{phvr}        % helvetica
  825. X    \input psfonts.sty        % LaTeX PostScript fonts
  826. X\else
  827. X    % Code to handle New Font Selection Scheme
  828. X    % Donated by Michael Jaegermann <ntomczak@vega.math.ualberta.ca>
  829. X    % I have not tested this!
  830. X    \typeout{Configuring for dvips 5.47 and PostScript fonts using NFSS}
  831. X    \input npsfont.sty
  832. X    \newpsfamily{refam}{%
  833. X    {m}{n}{ptmr},             % times - roman
  834. X    {m}{it}{ptmri},           % times - italic
  835. X    {m}{sl}{phvbo},           % helvetica - bold oblique
  836. X    {m}{sc}{ptmrc},           % times - roman - small caps
  837. X    {bx}{n}{phvb}}            % helvetica - bold
  838. X    \newpsfamily{rett}{%
  839. X    {m}{n}{pcrb}}             % courier bold
  840. X    \newpsfamily{resf}{%
  841. X    {m}{n}{phvr}}             % helvetica
  842. X    \renewcommand{\rmdefault}{refam}
  843. X    \renewcommand{\ttdefault}{rett}
  844. X    \renewcommand{\sfdefault}{resf}
  845. X    \family{refam}\selectfont
  846. X\fi
  847. X% In the final version, some explicit \newpages and space are needed. 
  848. X\let\makeuppage=\newpage
  849. X\def\makeupspace#1{\vspace{#1}}
  850. X%
  851. X%%%%%%%%%%%%%%%% Private Settings %%%%%%%%%%%%%%%%
  852. X%
  853. X\topmargin -1.55cm        % for dvips 5.47
  854. X\headheight 0.7cm
  855. X\headsep 0.4cm
  856. X\footskip 1.0cm
  857. X\textheight 25.4cm         % for dvips 5.47
  858. X\textwidth 12.8cm
  859. X\oddsidemargin 3cm        % for dvips 5.47
  860. X\evensidemargin 3cm         % for dvips 5.47
  861. X\frenchspacing
  862. X%
  863. X%%%%%%%%%%%%%%%% Headers/Footers %%%%%%%%%%%%%%%%
  864. X%
  865. X\newlength{\tw}\setlength{\tw}{\textwidth}\addtolength{\tw}{-2pt}
  866. X\def\@refhead#1{%
  867. X    \vbox{\makebox[\textwidth][#1]{\large\sl{Perl Reference Guide}}
  868. X      \rule[-0.1cm]{\textwidth}{0.5pt}}}
  869. X\def\@reffoot#1{%
  870. X    \vbox{\rule[-0.6cm]{\textwidth}{0.5pt}
  871. X      \makebox[\textwidth][#1]{\large\sl\thepage}}}
  872. X%
  873. X\def\@oddhead{\@refhead{l}}
  874. X\def\@evenhead{\@refhead{r}}
  875. X\def\@oddfoot{\@reffoot{l}}
  876. X\def\@evenfoot{\@reffoot{r}}
  877. X%
  878. X%%%%%%%%%%%%%%%% Paragraphs %%%%%%%%%%%%%%%%
  879. X%
  880. X\parindent 0pt            % align to left margin
  881. X\setlength{\baselineskip}{12pt}    % inter-line spacing
  882. X\parskip 2pt plus 1pt        % half-line spacing between paragraphs
  883. X\setlength{\smallskipamount}{\parskip} % half-line
  884. X\setlength{\medskipamount}{2\parskip} % single line
  885. X\setlength{\bigskipamount}{3\parskip} % one-and-a-half line
  886. X\setlength{\topsep}{0pt plus 1pt} % for lists and tabbing
  887. X\setlength{\partopsep}{0pt plus 1pt} % for lists and tabbing
  888. X\setlength{\itemsep}{0pt plus 1pt} % for lists and tabbing
  889. X%
  890. X\raggedright            % no adjustment
  891. X%
  892. X%%%%%%%%%%%%%%%% Sections and such %%%%%%%%%%%%%%%%
  893. X%
  894. X% Note: zero is a 'hot' value. approximate with 0.1pt
  895. X\def\pr@section{
  896. X    \@startsection {section}{1}{0.1pt}
  897. X               {12pt}{0.1pt}{\normalsize}}
  898. X%
  899. X\renewcommand{\section}[1]{
  900. X    \addtocounter{section}{1}
  901. X    \pr@section*{\vbox{{\LARGE\sl \thesection. #1}
  902. X               {\rule[0.3cm]{\textwidth}{0.25pt}}}}}
  903. X\newcommand{\unnumbered}[1]{
  904. X    {\vbox{{\LARGE\sl {#1}}
  905. X           {\rule[0.3cm]{\textwidth}{0.25pt}}}}}
  906. X%
  907. X%%%%%%%%%%%%%%%% Macros %%%%%%%%%%%%%%%%
  908. X%
  909. X\chardef\other=12
  910. X%
  911. X% |lit| is used to represent literal things.
  912. X% Representation is a fixed font.
  913. X{\catcode`\|=\active
  914. X\gdef|{\leavevmode%
  915. X\begingroup\catcode`\\=\other\catcode`\{=\other%
  916. X\catcode`\}=\other\catcode`\$=\other\catcode`\&=\other%
  917. X\catcode`\#=\other\catcode`\~=\other%
  918. X\catcode`\_=\other\catcode`\^=\other\catcode`\<=\other%
  919. X\catcode`\[=\other%
  920. X\obeyspaces\obeylines%
  921. X\let|=\endgroup\escapechar`\|\catcode`\%=\other\tt}}
  922. X\catcode`\|=\active
  923. X
  924. X% <var> is used for variable things. 
  925. X% Representation is 10pt sans-serif uppercased.
  926. X\catcode`\<=\active
  927. X\def<{\leavevmode\italicizerest}
  928. X\def\italicizerest#1>{{\small\sf\uppercase{#1}}}
  929. X
  930. X% LaTeX active and 'hot' characters
  931. X\def\|{\leavevmode\hbox{\tt\char`\|}}
  932. X\def\<{\leavevmode\hbox{\tt\char`\<}}
  933. X\def\>{\leavevmode\hbox{\tt\char`\>}}
  934. X\def\^{\leavevmode\hbox{\tt\char`\^}}
  935. X\def\${\leavevmode\hbox{\tt\char`\$}}
  936. X\def\%{\leavevmode\hbox{\tt\char`\%}}
  937. X\def\&{\leavevmode\hbox{\tt\char`\&}}
  938. X\def\{{\leavevmode\hbox{\tt\char`\{}}
  939. X\def\}{\leavevmode\hbox{\tt\char`\}}}
  940. X\def\_{\leavevmode\hbox{\tt\char`\_}}
  941. X
  942. X% Keywords
  943. X% Representation is 10pt sans-serif bold.
  944. X\def\kwd#1{{\small\bf #1}}
  945. X
  946. X% Definitions
  947. X\def\oEXPR{<expr>\dag}
  948. X
  949. X%%%%%%%%%%%%%%%% Enumerations %%%%%%%%%%%%%%%%
  950. X%
  951. X% Usage:
  952. X%
  953. X%  \begin{enum}{width}
  954. X%  \Xi{Blah} blah blah...
  955. X%  \Xi{Blah} bla ...
  956. X%  ...
  957. X%  \end{enum}
  958. X%
  959. X\newlength{\@xli}
  960. X\newlength{\@xlj}
  961. X\def\enum#1{
  962. X    \list{}{
  963. X      \setlength{\topsep}{0pt plus 1pt}
  964. X      \setlength{\partopsep}{0pt plus 1pt}
  965. X      \setlength{\itemsep}{0pt plus 1pt}
  966. X      \setlength{\parsep}{\parskip}
  967. X      \setlength{\itemindent}{0pt}
  968. X      \setlength{\labelsep}{5pt}
  969. X      \setlength{\labelwidth}{#1}
  970. X      \setlength{\leftmargin}{\labelwidth}
  971. X      \addtolength{\labelwidth}{-\labelsep}
  972. X      \setlength{\@xli}{\labelwidth}
  973. X      \def\makelabel##1{##1\hss}}}
  974. X
  975. X% List element that overflows if it is too wide
  976. X\def\Xi#1{
  977. X    \settowidth{\@xlj}{#1}
  978. X    \item[{#1}]
  979. X    \ifnum\@xlj>\@xli
  980. X           \strut\newline
  981. X    \fi}
  982. X% List element that does not overflow if it is too wide
  983. X\def\Xj#1{\item[#1]}
  984. X
  985. X\let\endenum=\endlist
  986. X
  987. X%%%%%%%%%%%%%%%% Emacs support %%%%%%%%%%%%%%%%
  988. X%
  989. X% Local Variables:
  990. X% eval:(auto-fill-mode 0)
  991. X% eval:(headers)
  992. X% eval:(setq comment-start "% ")
  993. X% eval:(setq comment-start-skip "% +")
  994. X% End:
  995. END_OF_FILE
  996.   if test 7030 -ne `wc -c <'refbase.sty'`; then
  997.     echo shar: \"'refbase.sty'\" unpacked with wrong size!
  998.   fi
  999.   # end of 'refbase.sty'
  1000. fi
  1001. echo shar: End of archive 3 \(of 4\).
  1002. cp /dev/null ark3isdone
  1003. MISSING=""
  1004. for I in 1 2 3 4 ; do
  1005.     if test ! -f ark${I}isdone ; then
  1006.     MISSING="${MISSING} ${I}"
  1007.     fi
  1008. done
  1009. if test "${MISSING}" = "" ; then
  1010.     echo You have unpacked all 4 archives.
  1011.     rm -f ark[1-9]isdone
  1012. else
  1013.     echo You still must unpack the following archives:
  1014.     echo "        " ${MISSING}
  1015. fi
  1016. exit 0
  1017. exit 0 # Just in case...
  1018.