home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-05-18 | 56.3 KB | 1,009 lines |
- Newsgroups: comp.sources.misc
- From: jv@mh.nl (Johan Vromans)
- Subject: v37i082: perlref - Perl Reference Guide 4.036.1, Part01/03
- Message-ID: <csm-v37i082=perlref.142515@sparky.IMD.Sterling.COM>
- X-Md4-Signature: ea5540b05c1d47b85a4a152876782ad3
- Date: Wed, 19 May 1993 21:20:08 GMT
- Approved: kent@sparky.imd.sterling.com
-
- Submitted-by: jv@mh.nl (Johan Vromans)
- Posting-number: Volume 37, Issue 82
- Archive-name: perlref/part01
- Environment: Perl v4.036
- Supersedes: perlref: Volume 32, Issue 1-4
-
- Finally here it is: the new and updated version of the
-
- Perl Reference Guide.
-
- This version has been updated to match Perl 4.036.
-
- As posted, the kit contains a ready-to-print PostScript version and
- a LaTeX source kit.
-
- The Perl Reference Guide is a typeset quick reference guide to
- Larry Wall's Perl program.
-
- It contains a concise description of all Perl 4.0 statements,
- functions, variables and lots of other useful information.
- The Guide is based on Perl version 4.0, patchlevel 36.
-
- The purpose of the Reference Guide is to aid in the use of Perl, to
- look up the syntax of specific functions, statements and the meaning
- of built-in variables. It is *NOT* a self-contained user guide -
- basic knowledge of the Perl language is required. It is *NOT* complete
- - some of the more obscure variants of perl constructs have been left
- out. But all functions and variables are mentioned in at least one
- way they can be used.
-
- Happy hacking!
-
- Johan
- -----------------------------------------------------
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then feed it
- # into a shell via "sh file" or similar. To overwrite existing files,
- # type "sh file -c".
- # Contents: README Layout refbase.ps.A
- # Wrapped by kent@sparky on Wed May 19 14:08:36 1993
- PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin ; export PATH
- echo If this archive is complete, you will see the following message:
- echo ' "shar: End of archive 1 (of 3)."'
- if test -f 'README' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'README'\"
- else
- echo shar: Extracting \"'README'\" \(6591 characters\)
- sed "s/^X//" >'README' <<'END_OF_FILE'
- X INTRODUCTION
- X ============
- X
- X The Perl 4.0 Reference Guide
- X
- X Revised: 93/05/18
- X
- XThe Perl Reference Guide is a typeset quick reference guide to
- XLarry Wall's Perl program.
- X
- XIt contains a concise description of all Perl 4.0 statements,
- Xfunctions, variables and lots of other useful information.
- XThe Guide is based on Perl version 4.0, patchlevel 36.
- X
- XThe purpose of the Reference Guide is to aid in the use of Perl, to
- Xlook up the syntax of specific functions, statements and the meaning
- Xof built-in variables. It is *NOT* a self-contained user guide -
- Xbasic knowledge of the Perl language is required. It is *NOT* complete
- X- some of the more obscure variants of perl constructs have been left
- Xout. But all functions and variables are mentioned in at least one
- Xway they can be used.
- X
- XThe Reference Guide is designed and created by Johan Vromans using the
- XLaTex typesetting system. For best results, Tom Rockiki's dvips 5.47
- Xshould be used to generate the PostScript output.
- XYour mileage may vary when you use other ouput mechanisms.
- X
- XA special formatting tool, written in Perl, makes it possible to
- Xreformat this PostScript output for reproduction in a number of
- Xformats. If you cannot run this tool, you do not need the
- Xinformation either.
- X
- XThe version number of the Reference Guide is coupled to the version of
- XPerl, e.g. 4.019.2 means: the third release suitable for perl 4
- Xpatchlevel 19.
- X
- XINSTALLATION
- X============
- X
- X 1. Unload the distribution
- X
- X After unloading the distribution, you will have the following files:
- X
- X README - this file
- X ChangeLog - description of changes
- X Makefile - make file
- X parr - reformat and rearrange tool
- X Layout - description of the format
- X MANIFEST - a list of files
- X refbase.tex - LaTeX source for the Reference Guide
- X refbase.sty - LaTeX style for the Reference Guide
- X refbase.ps - pre-generated PostScript base
- X
- X 2. Create the PostScript base file
- X
- X You can skip this step if you already have a pre-generated
- X PostScript base file.
- X This step requires the LaTeX typesetting system, and dvips version
- X 5.47 or later.
- X
- X - Use "make refbase-ps" (a dash, not a dot) to create a new
- X PostScript file from the LaTeX source. This file can be printed
- X normally.
- X
- X NOTE: dvips must be instructed to use a4 format paper ('-t a4')
- X even if you intend to print on a different format!
- X
- X 3. Create the RefGuide from the PostScript base
- X
- X As distributed, the Makefile is configured to generate output for
- X A4 (21 x 29.7 cm) paper format. Use "make PAPER= ..." to select US
- X Letter (8.5 x 11") format. Both formats should be printable on
- X all industry-standard PostScript printers.
- X
- X You can use "make" to generate a new PostScript file for one of
- X the following formats:
- X
- X - Use "make refguide.ps" to create a guide formatted in 10 pages
- X of 2-column text. It should be printed double-sided, stapled in
- X the middle, folded, and cut to size to have a 16-page 3.5 x 8"
- X booklet.
- X
- X - Use "make 2pass" to create a set of odd and even pages for
- X double sided printing. First print "guide-odd.ps". Then put the
- X paper back in the tray, and print either "guide-even1.ps" or
- X "guide-even2.ps", depending on the way your printer arranges
- X the printed paper.
- X "guide-even1.ps" is for printers with correct output stacking like
- X Apple LaserWriter II.
- X "guide-even2.ps" is for printers with reverse output stacking,
- X like old Apple LaserWriters.
- X In other words, after printing "guide-odd.ps", if the
- X text of the cover page is on top -- use "guide-even1.ps".
- X But if you're looking at the text of pages 9/10 -- use
- X "guide-even2.ps".
- X
- X "make" without arguments will default to refguide.ps .
- X
- X If your printout is not correct, feel free to change the figures in
- X subroutine 'twoup' of the 'parr' program. The file Layout
- X describes in more detail how the Guide should look like.
- X
- X On printers that support it, duplex printing is done.
- X
- XComments are welcome, send them to the author.
- X
- XIF YOU DON'T HAVE A POSTSCRIPT PRINTER
- X======================================
- X
- XLook in perlref.sty for comments with ">>>>" as a guide. The output
- Xwill not be as perfect, but still very useful.
- X
- XHISTORY
- X=======
- X
- XThe first version of the Reference Guide --"reference card" is was
- Xcalled then-- appeared in 1989 with perl version 2.0. It was created
- Xusing an Apple Macintosh and the RagTime DeskTop publishing tool.
- XIt was 9 pages, I believe. The PostScript output was extracted from
- Xthe Mac and hacked for 'normal' use with the macps program.
- X
- XWith perl version 3 came the next version. A 15-page card format, and
- Xa 16-page reference guide. This time, the Guide was created using
- XMicroSoft Word, still on Macintosh. Tools were supplied to manipulate
- Xthe PostScript file to suit different printing formats.
- XIn a later version, the card format was abandoned.
- X
- XNext came the Camel version, with perl 4.0. Lots of measurements had
- Xbeen taken to have the abundance of new functions fit on 16 pages.
- X
- XAfter the book appeared, I decided to rework the Guide to use more
- Xpages, and different styles and fonts for clarity. I reworked the
- XMS-Word version, to find out that the resultant PostScript file had
- Xincreased from 90Kb to 180Kb!
- XSo I decided to start again, from scratch (well, almost) using the
- XLaTeX typesetting system. The resultant PostScript file is now 80Kb,
- Xwhile it prints out almost identical to the 180Kb MS-Word version.
- X
- XCREDITS
- X=======
- X
- XThe Perl Reference Guide is copyrighted by the author. It may be
- Xreproduced, printed and distributed freely, as long as the original
- Xauthor gets the credits, and the copyright notice is not removed from
- Xthe text. It may not be turned into a commercial product except with
- Xwritten permission of the author.
- X
- X---------------------------- author info -----------------------------
- X Johan Vromans
- X Multihouse Research, Doesburgweg 7, 2803 PL Gouda, the Netherlands
- X tel. +31 1820 62911, fax. +31 1820 62500
- X email: <jv@mh.nl>
- X----------------------------------------------------------------------
- X
- XI like to thank everyone who has helped me (and encouraged me) to get
- Xthe job done, and to get the results to you. Especially Tom
- XChristiansen and JGreely (for "parr") And Larry Wall, of course,
- Xwithout whom I would have spent lots of time annoying myself.
- X
- XFor a japanese version of the reference guide, please contact
- XYoshiyuki KONDO <cond@lsi-j.co.jp>.
- X
- X-- PostScript is a trademark of Adobe, I assume.
- X@(#)@ README 4.2.6
- END_OF_FILE
- if test 6591 -ne `wc -c <'README'`; then
- echo shar: \"'README'\" unpacked with wrong size!
- fi
- # end of 'README'
- fi
- if test -f 'Layout' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'Layout'\"
- else
- echo shar: Extracting \"'Layout'\" \(1112 characters\)
- sed "s/^X//" >'Layout' <<'END_OF_FILE'
- XThis is the layout of the pages of the reference guide
- X
- X
- X center of paper
- X |
- X +-----------------+-----------------+
- X | <----------- top margin
- X | xxxxxxxxxx : xxxxxxxxxx |
- X | xxxxxxxxxx xxxxxxxxxx |
- X | xxxxxxxxxx xxxxxxxxxx |
- X | xxxxxxxxxx xxxxxxxxxx |
- X | xxxxxxxxxx xxxxxxxxxx <------ right margin
- X | xxxxxxxxxx xxxxxxxxxx |
- X | xxxxxxxxxx xxxxxxxxxx |
- X | ^ xxxxxxxxxx xxxxxxxxxx |
- X | | xxxxxxxxxx xxxxxxxxxx |
- X | | xxxxxxxxxx : xxxxxxxxxx |
- X | | |
- X +-|---------------------------------+
- X |
- X left margin
- X
- X
- XThese are the values:
- X A4 (cm) US Letter (inch)
- X text width 9.0 3.5 same for both
- X text height 19.2 7.5 same for both
- X top margin 1.0 0.5
- X left margin 4.9 1.6
- X right margin 4.9 1.6
- X space between 2.0 0.8 same for both
- X
- XAfter printing double-sided, the pages can be stapled (the ":" in the
- Xpicture), folded, and the excess margins cut off. Personally, I cut it
- Xto 10.6 cm (4.2 inch).
- END_OF_FILE
- if test 1112 -ne `wc -c <'Layout'`; then
- echo shar: \"'Layout'\" unpacked with wrong size!
- fi
- # end of 'Layout'
- fi
- if test -f 'refbase.ps.A' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'refbase.ps.A'\"
- else
- echo shar: Extracting \"'refbase.ps.A'\" \(45310 characters\)
- sed "s/^X//" >'refbase.ps.A' <<'END_OF_FILE'
- X%!PS-Adobe-2.0
- X%%Creator: dvips 5.47 Copyright 1986-91 Radical Eye Software
- X%%Title: refbase.dvi
- X%%Pages: 21 1
- X%%BoundingBox: 0 0 596 843
- X%%DocumentFonts: Helvetica-BoldOblique Helvetica-Bold Times-Roman Courier-Bold
- X%%+ Helvetica Times-Italic
- X%%EndComments
- X%%BeginProcSet: tex.pro
- X/TeXDict 200 dict def TeXDict begin /N /def load def /B{bind def}N /S /exch
- Xload def /X{S N}B /TR /translate load N /isls false N /vsize 10 N /@rigin{
- Xisls{[0 1 -1 0 0 0]concat}if 72 Resolution div 72 VResolution div neg scale
- XResolution VResolution vsize neg mul TR matrix currentmatrix dup dup 4 get
- Xround 4 exch put dup dup 5 get round 5 exch put setmatrix}N /@letter{/vsize 10
- XN}B /@landscape{/isls true N /vsize -1 N}B /@a4{/vsize 10.6929133858 N}B /@a3{
- X/vsize 15.5531 N}B /@ledger{/vsize 16 N}B /@legal{/vsize 13 N}B /@manualfeed{
- Xstatusdict /manualfeed true put}B /@copies{/#copies X}B /FMat[1 0 0 -1 0 0]N
- X/FBB[0 0 0 0]N /nn 0 N /IE 0 N /ctr 0 N /df-tail{/nn 8 dict N nn begin
- X/FontType 3 N /FontMatrix fntrx N /FontBBox FBB N string /base X array
- X/BitMaps X /BuildChar{CharBuilder}N /Encoding IE N end dup{/foo setfont}2
- Xarray copy cvx N load 0 nn put /ctr 0 N[}B /df{/sf 1 N /fntrx FMat N df-tail}
- XB /dfs{div /sf X /fntrx[sf 0 0 sf neg 0 0]N df-tail}B /E{pop nn dup definefont
- Xsetfont}B /ch-width{ch-data dup length 5 sub get}B /ch-height{ch-data dup
- Xlength 4 sub get}B /ch-xoff{128 ch-data dup length 3 sub get sub}B /ch-yoff{
- Xch-data dup length 2 sub get 127 sub}B /ch-dx{ch-data dup length 1 sub get}B
- X/ch-image{ch-data dup type /stringtype ne{ctr get /ctr ctr 1 add N}if}B /id 0
- 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
- Xdup /base get 2 index get S /BitMaps get S get /ch-data X pop /ctr 0 N ch-dx 0
- Xch-xoff ch-yoff ch-height sub ch-xoff ch-width add ch-yoff setcachedevice
- Xch-width ch-height true[1 0 0 -1 -.1 ch-xoff sub ch-yoff .1 add]{ch-image}
- Ximagemask restore}B /D{/cc X dup type /stringtype ne{]}if nn /base get cc ctr
- Xput nn /BitMaps get S ctr S sf 1 ne{dup dup length 1 sub dup 2 index S get sf
- Xdiv put}if put /ctr ctr 1 add N}B /I{cc 1 add D}B /bop{userdict /bop-hook
- Xknown{bop-hook}if /SI save N @rigin 0 0 moveto}N /eop{clear SI restore
- Xshowpage userdict /eop-hook known{eop-hook}if}N /@start{userdict /start-hook
- Xknown{start-hook}if /VResolution X /Resolution X 1000 div /DVImag X /IE 256
- Xarray N 0 1 255{IE S 1 string dup 0 3 index put cvn put}for}N /p /show load N
- X/RMat[1 0 0 -1 0 0]N /BDot 260 string N /rulex 0 N /ruley 0 N /v{/ruley X
- X/rulex X V}B /V statusdict begin /product where{pop product dup length 7 ge{0
- X7 getinterval(Display)eq}{pop false}ifelse}{false}ifelse end{{gsave TR -.1 -.1
- XTR 1 1 scale rulex ruley false RMat{BDot}imagemask grestore}}{{gsave TR -.1
- X-.1 TR rulex ruley scale 1 1 false RMat{BDot}imagemask grestore}}ifelse B /a{
- Xmoveto}B /delta 0 N /tail{dup /delta X 0 rmoveto}B /M{S p delta add tail}B /b{
- 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
- 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
- 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
- Xa}B /bos{/SS save N}B /eos{clear SS restore}B end
- X%%EndProcSet
- X%%BeginProcSet: texps.pro
- XTeXDict begin /rf{655360 div mul Resolution mul 7227 div /PixPerEm X findfont
- Xdup length 1 add dict /nn X{1 index /FID ne{nn 3 1 roll put}{pop pop}ifelse}
- Xforall 256 dict begin nn /Encoding get 0 1 255{2 copy get 3 index 2 index get
- X1000 mul PixPerEm div def pop}for pop pop nn /Metrics currentdict put end
- X/fontname X /nn dup nn definefont[PixPerEm 0 0 PixPerEm neg 0 0]makefont N
- Xfontname{/foo setfont}2 array copy cvx N fontname load 0 nn put}N
- X/ObliqueSlant{dup sin S cos div neg}B /SlantFont{/foo X[1 0 foo 1 0 0]
- XTransFont}N /ExtendFont{/foo X 3 2 roll[S{foo div}forall]3 1 roll[foo 0 0 1 0
- X0]TransFont}N /TransFont{S findfont S makefont dup length dict /nn X{1 index
- X/FID ne{nn 3 1 roll put}{pop pop}ifelse}forall dup nn definefont pop}N end
- X%%EndProcSet
- XTeXDict begin 1000 300 300 @start /Fa [ 0 0 0 0 0 0 0 0 0 0
- 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
- X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
- X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
- X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
- X25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25 25
- 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
- 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
- X25 25 25 25 25 25 0 0 0 25 25 25 25 0 25 25 25 25 25 25 25
- X0 0 25 0 25 25 25 25 25 25 25 25 0 25 25 0 25 25 25 25 0 0
- 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
- X0 0 0 0 0 0 25 0 0 25 25 0 25 0 0 0 0 ] /Courier-Bold 1000
- X655360 rf /Fb 1 26 df<07FFFE001FFFFF003FFFFF007FFFFE0070630000C0C3000080C70000
- X00C6000001C600000186000003860000038F0000038F0000070F0000070F00000F0F00000F0780
- X001E0780001E0780000C03000019147F931A>25 D E /Fc [ 0 0 0 0 0
- 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
- X19 23 23 38 36 15 15 15 23 31 11 15 11 13 23 23 23 23 23 23
- X23 23 23 23 15 15 31 31 31 23 42 28 28 30 33 28 28 33 33 15
- X20 30 25 38 30 33 28 33 28 23 25 33 28 38 28 25 25 18 13 18
- X19 23 15 23 23 20 23 20 13 23 23 13 13 20 13 33 23 23 23 23
- X18 18 13 23 20 30 20 20 18 18 13 18 25 0 0 0 0 0 0 0 0 0 0
- 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
- X23 23 23 23 10 25 23 15 15 23 23 0 23 23 23 11 0 24 16 15 25
- X25 23 41 46 0 23 0 15 15 15 15 15 15 15 15 0 15 15 0 15 15
- 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
- X43 14 0 0 0 0 0 30 0 0 0 13 0 0 13 23 30 23 0 0 0 0 ] /Times-Italic
- X1000 720896 rf /Fd [ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- X0 0 0 0 0 0 0 0 0 0 0 0 0 12 14 20 23 23 37 30 12 14 14 16
- X24 12 14 12 12 23 23 23 23 23 23 23 23 23 23 14 14 24 24 24
- X25 40 30 30 30 30 28 25 32 30 12 23 30 25 35 30 32 28 32 30
- X28 25 30 28 39 28 28 25 14 12 14 24 23 12 23 25 23 25 23 14
- X25 25 12 12 23 12 37 25 25 25 25 16 23 14 25 23 32 23 23 21
- 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
- X0 0 0 0 0 0 0 0 0 0 14 23 23 7 23 23 23 23 10 21 23 14 14 25
- X25 0 23 23 23 12 0 23 15 12 21 21 23 42 42 0 25 0 14 14 14
- X14 14 14 14 14 0 14 14 0 14 14 14 42 0 0 0 0 0 0 0 0 0 0 0
- 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
- X0 0 12 25 39 25 0 0 0 0 ] /Helvetica-Bold 1000 655360 rf /Fe
- X2 122 df<0003FF0000000FFFC000003E01F00000F8007C0001E0001E00038000070007000003
- X800E000001C00C000000C01C000000E03800000070300000003030000000307000000038600000
- X00186000000018E00000001CC00000000CC00000000CC00000000CC00000000CC00000000CC000
- X00000CC00000000CC00000000CC00000000CE00000001C60000000186000000018700000003830
- X00000030300000003038000000701C000000E00C000000C00E000001C007000003800380000700
- X01E0001E0000F8007C00003E01F000000FFFC0000003FF0000262B7DA02D>13
- XD<03000780078007800780078007800300030003007B78FFFCFFFC7B7803000300078007800780
- X078007800780078007800780078007800780078007800780078007800780078003000300030003
- X000300030003000E2A7D9F15>121 D E /Ff [ 0 0 0 0 0 0 0 0 0 0
- 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
- X37 28 9 14 14 16 24 12 14 12 12 23 23 23 23 23 23 23 23 23
- X23 12 12 24 24 24 23 42 28 28 30 30 28 25 32 30 12 21 28 23
- X35 30 32 28 32 30 28 25 30 28 39 28 28 25 12 12 12 19 23 9
- X23 23 21 23 23 12 23 23 9 9 21 9 35 23 23 23 23 14 21 12 23
- 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
- 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
- X8 14 23 14 14 21 21 0 23 23 23 12 0 22 15 9 14 14 23 42 42
- X0 25 0 14 14 14 14 14 14 14 14 0 14 14 0 14 14 14 42 0 0 0
- 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
- X0 0 37 0 0 0 12 0 0 9 25 39 25 0 0 0 0 ] /Helvetica 1000 655360
- 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
- X0 0 0 0 0 0 0 14 17 24 28 28 44 36 14 17 17 19 29 14 17 14
- X14 28 28 28 28 28 28 28 28 28 28 17 17 29 29 29 30 49 36 36
- X36 36 33 30 39 36 14 28 36 30 41 36 39 33 39 36 33 30 36 33
- X47 33 33 30 17 14 17 29 28 14 28 30 28 30 28 17 30 30 14 14
- X28 14 44 30 30 30 30 19 28 17 30 28 39 28 28 25 19 14 19 29
- 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
- X0 0 0 0 17 28 28 8 28 28 28 28 12 25 28 17 17 30 30 0 28 28
- X28 14 0 28 17 14 25 25 28 50 50 0 30 0 17 17 17 17 17 17 17
- 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
- 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
- X30 0 0 0 0 ] /Helvetica-BoldOblique 1000 786432 rf /Fh [ 0
- 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
- X0 10 14 17 21 21 35 32 14 14 14 21 23 10 14 10 12 21 21 21
- X21 21 21 21 21 21 21 12 12 23 23 23 18 38 30 28 28 30 25 23
- X30 30 14 16 30 25 37 30 30 23 30 28 23 25 30 30 39 30 30 25
- X14 12 14 19 21 14 18 21 18 21 18 14 21 21 12 12 21 12 32 21
- X21 21 21 14 16 12 21 21 30 21 21 18 20 8 20 22 0 0 0 0 0 0
- 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
- X21 21 7 21 21 21 21 7 18 21 14 14 23 23 0 21 21 21 10 0 19
- X15 14 18 18 21 42 42 0 18 0 14 14 14 14 14 14 14 14 0 14 14
- 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
- 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
- X] /Times-Roman 1000 655360 rf /Fi [ 0 0 0 0 0 0 0 0 0 0 0 0
- 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
- X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
- X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
- X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
- X27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27 27
- 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
- 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
- X27 27 27 27 0 0 0 27 27 27 27 0 27 27 27 27 27 27 27 0 0 27
- X0 27 27 27 27 27 27 27 27 0 27 27 0 27 27 27 27 0 0 0 0 0 0
- 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
- X0 0 27 0 0 27 27 0 27 0 0 0 0 ] /Courier-Bold 1000 720896 rf
- 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
- X0 0 0 0 0 11 15 19 23 23 38 36 15 15 15 23 26 11 15 11 13 23
- X23 23 23 23 23 23 23 23 23 13 13 26 26 26 20 42 33 30 30 33
- X28 25 33 33 15 18 33 28 41 33 33 25 33 30 25 28 33 33 43 33
- X33 28 15 13 15 21 23 15 20 23 20 23 20 15 23 23 13 13 23 13
- X36 23 23 23 23 15 18 13 23 23 33 23 23 20 22 9 22 25 0 0 0
- 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
- X0 15 23 23 8 23 23 23 23 8 20 23 15 15 25 25 0 23 23 23 11
- X0 21 16 15 20 20 23 46 46 0 20 0 15 15 15 15 15 15 15 15 0
- 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
- 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
- X0 0 0 ] /Times-Roman 1000 720896 rf /Fk [ 0 0 0 0 0 0 0 0 0
- 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
- X41 33 13 15 15 18 27 13 15 13 13 25 25 25 25 25 25 25 25 25
- X25 15 15 27 27 27 28 45 33 33 33 33 30 28 36 33 13 25 33 28
- X38 33 36 30 36 33 30 28 33 30 43 30 30 28 15 13 15 27 25 13
- X25 28 25 28 25 15 28 28 13 13 25 13 41 28 28 28 28 18 25 15
- 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
- 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
- X11 23 25 15 15 28 28 0 25 25 25 13 0 25 16 13 23 23 25 46 46
- X0 28 0 15 15 15 15 15 15 15 15 0 15 15 0 15 15 15 46 0 0 0
- 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
- X0 0 41 0 0 0 13 0 0 13 28 43 28 0 0 0 0 ] /Helvetica-Bold 1000
- 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
- X0 0 0 0 0 0 0 0 0 0 20 23 33 39 39 63 51 20 23 23 27 41 20
- X23 20 20 39 39 39 39 39 39 39 39 39 39 23 23 41 41 41 43 69
- X51 51 51 51 47 43 55 51 20 39 51 43 59 51 55 47 55 51 47 43
- X51 47 67 47 47 43 23 20 23 41 39 20 39 43 39 43 39 23 43 43
- X20 20 39 20 63 43 43 43 43 27 39 23 43 39 55 39 39 35 27 20
- 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
- X0 0 0 0 0 0 0 23 39 39 12 39 39 39 39 17 35 39 23 23 43 43
- X0 39 39 39 20 0 39 25 20 35 35 39 71 71 0 43 0 23 23 23 23
- 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
- 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
- X20 43 67 43 0 0 0 0 ] /Helvetica-BoldOblique 1000 1114112 rf
- Xend
- X%%EndProlog
- X%%BeginSetup
- X%%Feature: *Resolution 300
- XTeXDict begin @a4
- X%%EndSetup
- X%%Page: 0 1
- Xbop eop
- X%%Page: 0 2
- Xbop 591 341 a Fl(Perl)20 b(Reference)h(Guide)p 591 362 1264
- X2 v 591 462 a Fk(for)12 b(Perl)h(version)g(4.036)591 645 y
- XFj(Perl)f(program)f(designed)f(and)i(created)g(by)591 701 y(Larry)f(W)l(all)h
- XFi(<)p Fj(lwall@netlabs.com)p Fi(>)591 884 y Fj(Reference)h(guide)e(designed)
- Xg(and)g(created)h(by)591 941 y(Johan)e(V)m(romans)i Fi(<)p
- XFj(jv@mh.nl)p Fi(>)591 1161 y Fl(Contents)p 591 1182 V 639
- X1283 a Fj(1.)21 b(Command)11 b(line)g(options)639 1339 y(2.)21
- Xb(Literals)639 1396 y(3.)g(V)-5 b(ariables)639 1452 y(4.)21
- Xb(Statements)639 1509 y(5.)g(Flow)12 b(control)639 1565 y(6.)21
- Xb(Operators)639 1621 y(7.)g(File)12 b(test)f(operators)639
- X1678 y(8.)21 b(Arithmetic)11 b(functions)639 1734 y(9.)21 b(Conversion)11
- Xb(functions)616 1791 y(10.)21 b(Structure)12 b(conversion)616
- X1847 y(11.)21 b(String)11 b(functions)616 1904 y(12.)21 b(Array)12
- Xb(and)g(list)e(functions)616 1960 y(13.)21 b(File)12 b(operations)616
- X2017 y(14.)21 b(Directory)12 b(reading)f(routines)616 2073
- Xy(15.)21 b(Input)11 b(/)g(Output)616 2130 y(16.)21 b(Search)13
- Xb(and)e(replace)i(functions)616 2186 y(17.)21 b(System)11 b(interaction)616
- X2242 y(18.)21 b(Networking)616 2299 y(19.)g(SystemV)11 b(IPC)616
- X2355 y(20.)21 b(Miscellaneous)616 2412 y(21.)g(Formats)616
- X2468 y(22.)g(Info)12 b(from)f(system)f(\256les)616 2525 y(23.)21
- Xb(Regular)12 b(expressions)616 2581 y(24.)21 b(Special)12 b(variables)616
- X2638 y(25.)21 b(Special)12 b(arrays)616 2694 y(26.)21 b(The)12
- Xb(perl)f(debugger)616 2751 y(27.)21 b(Environment)10 b(variables)591
- X2933 y Fh(Rev)m(.)g(4.036.1)p eop
- X%%Page: 1 3
- Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
- X3 v 354 0 a Fl(Conventions)p 354 21 1512 2 v 354 121 a Fi(fixed)102
- Xb Fj(denotes)10 b(literal)h(text.)354 186 y Ff(THIS)142 b Fj(means)11
- Xb(variable)g(text,)g(i.e.)i(things)d(you)h(must)f(\256ll)h(in.)354
- X251 y Ff(THIS)p Fe(y)121 b Fj(means)11 b(that)g Ff(THIS)g Fj(will)f(default)h
- X(to)g Fi($_)h Fj(if)g(omitted.)354 315 y Fd(word)139 b Fj(is)10
- Xb(a)i(keyword,)g(i.e.)g(a)g(word)f(with)f(a)i(special)f(meaning.)p
- X354 337 112 2 v 354 393 2 56 v 368 380 a Ff(RET)p 464 393 V
- X354 395 112 2 v 140 w Fj(denotes)f(pressing)h(a)h(keyboard)f(key)m(.)354
- X445 y([.)d(.)g(.)h(])149 b(denotes)10 b(an)i(optional)e(part.)354
- X510 y(\(.)e(.)g(.)h(\)*)126 b(means)11 b(that)g(the)g(parentheses)g(may)g(be)
- Xh(omitted.)355 635 y Fl(1.)19 b(Command)h(line)f(options)p
- X355 656 1512 2 v 354 757 a Fi(-a)64 b Fj(turns)11 b(on)g(autosplit)f(mode)h
- X(when)g(used)g(with)g Fi(-n)h Fj(or)g Fi(-p)p Fj(.)g(Splits)f(to)g
- XFi(@F)p Fj(.)354 821 y Fi(-c)64 b Fj(checks)12 b(syntax)f(but)g(does)g(not)f
- X(execute.)354 886 y Fi(-d)64 b Fj(runs)11 b(the)g(script)f(under)h(the)g
- X(debugger)m(.)h(Use)f Fi(-de)28 b(0)12 b Fj(to)e(start)h(the)g(debugger)g
- X(without)472 943 y(a)h(script.)354 1007 y Fi(-D)h Ff(NUMBER)472
- X1064 y Fj(sets)e(debugging)g(\257ags.)354 1129 y Fi(-e)i Ff(COMMANDLINE)472
- X1185 y Fj(may)e(be)h(used)f(to)g(enter)h(one)f(line)g(of)g(script.)h
- X(Multiple)d Fi(-e)k Fj(commands)d(may)h(be)472 1241 y(given)g(to)g(build)g
- X(up)g(a)g(multi-line)f(script.)354 1306 y Fi(-i)j Ff(EXT)472
- X1363 y Fj(\256les)f(processed)f(by)h(the)f Fi(<>)h Fj(construct)f(are)h(to)f
- X(be)g(edited)g(in-place.)354 1427 y Fi(-I)i Ff(DIR)472 1484
- Xy Fj(with)e Fi(-P)p Fj(:)h(tells)e(the)i(C)g(preprocessor)f(where)h(to)f
- X(look)g(for)g(include)g(\256les.)h(The)472 1540 y(directory)g(is)f(prepended)
- Xg(to)g Fi(@INC)p Fj(.)354 1605 y Fi(-l)i Fj([)e Ff(OCTNUM)h
- XFj(])472 1662 y(enables)g(automatic)e(line)h(ending)g(processing,)g(e.g.)h
- XFi(-l013)p Fj(.)354 1726 y Fi(-n)64 b Fj(assumes)11 b(an)h(input)e(loop)g
- X(around)i(your)f(script.)g(Lines)g(are)h(not)f(printed.)354
- X1791 y Fi(-p)64 b Fj(assumes)11 b(an)h(input)e(loop)g(around)i(your)f
- X(script.)g(Lines)g(are)h(printed.)354 1856 y Fi(-P)64 b Fj(runs)11
- Xb(the)h(C)g(preprocessor)f(on)g(the)h(script)e(before)i(compilation)e(by)h
- X(perl.)354 1921 y Fi(-s)64 b Fj(interprets)11 b(\252)p Fi(-xxx)p
- XFj(\272)j(on)d(the)g(command)g(line)g(as)g(switches)g(and)g(sets)g(the)472
- X1977 y(corresponding)g(variables)g Fi($)q(xxx)h Fj(in)f(the)h(script.)354
- X2042 y Fi(-S)64 b Fj(uses)11 b(the)h Fi(PATH)h Fj(environment)d(variable)h
- X(to)g(search)h(for)g(the)f(script.)354 2107 y Fi(-u)64 b Fj(dumps)11
- Xb(core)h(after)g(compiling)d(the)j(script.)f(T)m(o)g(be)g(used)g(with)g(the)g
- XFc(undump)g Fj(program)472 2163 y(\(where)i(available\).)354
- X2228 y Fi(-U)64 b Fj(allows)11 b(perl)h(to)e(do)i(unsafe)f(operations.)354
- X2293 y Fi(-v)64 b Fj(prints)11 b(the)g(version)g(and)g(patchlevel)g(of)h
- X(your)f(perl)g(executable.)354 2357 y Fi(-w)64 b Fj(prints)11
- Xb(warnings)g(about)g(possible)f(spelling)g(errors)i(and)f(other)g(error)o
- X(-prone)472 2414 y(constructs)g(in)g(the)g(script.)354 2479
- Xy Fi(-x)64 b Fj(extracts)12 b(perl)f(program)g(from)h(input)e(stream.)354
- X2543 y Fi(-0)j Ff(V)m(AL)472 2600 y Fj(\(that')m(s)f(the)f(number)g(zero\))h
- X(designates)f(an)h(initial)e(value)h(for)g(the)h(record)g(terminator)472
- X2656 y Fi($)q(/)p Fj(.)g(See)g(also)f Fi(-l)p Fj(.)p 354 3018
- X1512 3 v 354 3065 a Fg(1)p eop
- X%%Page: 2 4
- Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
- X3 v 355 -2 a Fl(2.)19 b(Literals)p 355 19 1512 2 v 354 119
- Xa Fj(Numeric:)11 b Fi(123)56 b(1_234)h(123.4)g(5E-10)g(0xff)13
- Xb Fj(\(hex\))55 b Fi(0377)13 b Fj(\(octal\).)354 184 y(String:)e
- XFi('abc')i Fj(literal)e(string,)g(no)g(variable)h(interpolation)e(nor)h
- X(escape)h(characters,)591 241 y(except)f Fi(\\')h Fj(and)g
- XFi(\\\\)p Fj(.)g(Also:)f Fi(q/abc/)p Fj(.)591 297 y(\(Almost)f(any)h(pair)g
- X(of)h(delimiters)e(can)i(be)f(used)g(instead)g(of)h Fi(/.../)p
- XFj(.\))472 362 y Fi("abc")i Fj(V)-5 b(ariables)11 b(are)h(interpolated)f(and)
- Xg(escape)h(sequences)g(are)g(processed.)591 418 y(Also:)e Fi(qq/abc/)p
- XFj(.)591 475 y(Escape)h(sequences:)h Fi(\\t)g Fj(\(T)m(ab\),)g
- XFi(\\n)g Fj(\(Newline\),)g Fi(\\r)g Fj(\(Return\),)h Fi(\\f)591
- X531 y Fj(\(Formfeed\),)f Fi(\\b)h Fj(\(Backspace\),)g Fi(\\a)f
- XFj(\(Alarm\),)g Fi(\\e)g Fj(\(Escape\),)h Fi(\\033)p Fj(\(octal\),)591
- X588 y Fi(\\x1b)p Fj(\(hex\),)g Fi(\\c[)g Fj(\(control\).)591
- X644 y Fi(\\l)f Fj(and)f Fi(\\u)h Fj(lowcase/upcase)g(the)f(following)f
- X(character;)591 701 y Fi(\\L)i Fj(and)f Fi(\\U)h Fj(lowcase/upcase)g(until)e
- X(a)i Fi(\\E)g Fj(is)f(encountered.)472 765 y Fi(`)p Ff(COMMAND)p
- XFi(`)h Fj(evaluates)f(to)g(the)g(output)f(of)i(the)f Ff(COMMAND)p
- XFj(.)591 822 y(Also:)f Fi(qx/)p Ff(COMMAND)p Fi(/)p Fj(.)354
- X887 y(Array:)i Fi(\(1,2,3\))p Fj(.)j Fi(\(\))d Fj(is)f(an)g(empty)g(array)m
- X(.)472 943 y(Also:)g Fi(\($a,$b,@re)q(st)q(\))30 b(=)e(\(1,2,...\))q(;)472
- X999 y(\(1..4\))14 b Fj(is)d(the)g(same)h(as)f Fi(\(1,2,3,4\))q
- XFj(.)j(Likewise)d Fi(\('abc'..')q(ad)q(e'\))354 1064 y Fj(Associative)g
- X(array:)h Fi(\()p Ff(KEY1)p Fi(,)p Ff(V)m(AL1)p Fi(,)p Ff(KEY2)p
- XFi(,)p Ff(V)m(AL2)p Fi(,...\))354 1129 y Fj(Filehandles:)472
- X1185 y(Pre-de\256ned:)h Fi(<STDIN>)p Fj(,)i Fi(<STDOUT>)p Fj(,)g
- XFi(<STDERR>)p Fj(,)g Fi(<ARGV>)p Fj(,)f Fi(<DATA>)p Fj(;)472
- X1242 y(User)o(-speci\256ed:)e Fi(<)p Ff(HANDLE)p Fi(>)p Fj(,)g
- XFi(<$)p Ff(V)m(AR)p Fi(>)p Fj(.)472 1298 y Fi(<>)h Fj(is)e(the)g(input)f
- X(stream)h(formed)g(by)h(the)f(\256les)g(speci\256ed)h(in)f
- XFi(@ARGV)p Fj(,)j(or)d(standard)472 1355 y(input)g(if)g(no)g(ar)o(guments)g
- X(are)h(supplied.)354 1420 y(Globs:)f Fi(<)p Ff(P)m(A)m(TTERN)p
- XFi(>)g Fj(evaluates)h(to)f(all)g(\256lenames)g(according)h(to)f(the)g
- X(pattern.)472 1476 y(Use)h Fi(<${)p Ff(V)m(AR)p Fi(}>)h Fj(to)d(glob)h(from)g
- X(a)h(variable.)354 1541 y(Here-Is:)g Fi(<<)p Ff(IDENTIFIER)472
- X1597 y Fc(See)g(the)f(manual)g(for)g(details.)354 1662 y Fj(Special)h
- X(tokens:)472 1718 y Fi(_)c(_)q(FILE_)h(_)q Fj(:)i(\256lename;)g
- XFi(_)d(_)q(LINE_)h(_)q Fj(:)i(line)g(number)m(.)472 1775 y
- XFi(_)d(_)q(END_)h(_)p Fj(:)j(end)f(of)g(program;)g(remaining)g(lines)f(can)i
- X(be)g(read)g(using)e Fi(<)p Ff(DA)m(T)m(A)p Fi(>)p Fj(.)355
- X1904 y Fl(3.)19 b(V)m(ariables)p 355 1925 V 354 2026 a Fi($)q(var)269
- Xb Fj(a)12 b(simple)e(scalar)i(variable)354 2090 y Fi($)q(var[28])161
- Xb Fj(29th)11 b(element)g(of)g(array)i Fi(@var)g Fj(\(the)e
- XFi([])h Fj(are)g(part)g(of)f(it\))354 2155 y Fi($)q(var{)q('Feb'})79
- Xb Fj(one)12 b(value)f(from)g(associative)g(array)h Fi(\045var)354
- X2220 y($)q(#var)242 b Fj(last)11 b(index)g(of)g(array)i Fi(@var)354
- X2285 y(@var)270 b Fj(the)11 b(entire)h(array;)732 2341 y(in)f(scalar)h
- X(context:)f(the)g(number)g(of)g(elements)g(in)g(the)g(array)354
- X2406 y Fi(@var[3,4)q(,5])80 b Fj(a)12 b(slice)f(of)h(the)f(array)h
- XFi(@var)354 2471 y(@var{)r('a','b'})25 b Fj(a)12 b(slice)f(of)h
- XFi(\045var)p Fj(;)g(same)f(as)h Fi(\($var{'a')q(},$)q(va)q(r{')q(b'})q(\))354
- X2535 y(\045)q(var)269 b Fj(the)11 b(entire)h(associative)f(array;)732
- X2592 y(in)g(scalar)h(context:)f(TRUE)g(if)h(the)f(array)h(has)f(elements)354
- X2657 y Fi($)q(var{)q('a',1,...)q(})24 b Fj(emulates)11 b(a)g
- X(multi-dimensional)e(array)354 2721 y Fi(\('a'..'z)q('\)[)q(4,7)q(,9)q(])732
- X2778 y Fj(a)j(slice)f(of)h(an)f(array)h(literal)354 2843 y
- XFi(*)p Ff(NAME)230 b Fj(refers)13 b(to)e(all)g(objects)f(represented)i(by)f
- XFf(NAME)p Fj(.)g(\252)p Fi(*name1)30 b(=)732 2899 y(*name2)p
- XFj(\272)14 b(makes)d Fi(name1)j Fj(a)e(reference)h(to)e Fi(name2)p
- XFj(.)p 354 3018 1512 3 v 1838 3065 a Fg(2)p eop
- X%%Page: 3 5
- Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
- X3 v 355 -2 a Fl(4.)19 b(Statements)p 355 19 1512 2 v 354 119
- Xa Fj(Every)12 b(statement)e(is)h(an)h(expression,)f(optionally)e(followed)i
- X(by)g(a)h(modi\256er)n(,)g(and)354 176 y(terminated)f(by)g(a)h(semicolon.)e
- X(The)i(semicolon)e(may)h(be)g(omitted)f(if)i(the)f(statement)f(is)h(the)354
- X232 y(\256nal)h(one)f(in)g(a)h(BLOCK.)354 297 y(Execution)f(of)g(expressions)
- Xg(can)h(depend)f(on)g(other)g(expressions)g(using)f(one)h(of)h(the)354
- X354 y(modi\256ers)f Fd(if)p Fj(,)g Fd(unless)p Fj(,)i Fd(while)e
- XFj(or)g Fd(until)p Fj(,)h(e.g.:)400 418 y Ff(EXPR1)f Fd(if)f
- XFf(EXPR2)h Fi(;)400 475 y Ff(EXPR1)g Fd(until)g Ff(EXPR2)f
- XFi(;)354 540 y Fj(Also,)h(by)g(using)g(one)g(of)h(the)f(logical)g(operators)g
- XFi(||)q Fj(,)h Fi(&&)g Fj(or)f Fi(?)28 b(:)p Fj(,)12 b(e.g.:)400
- X604 y Ff(EXPR1)f Fi(||)h Ff(EXPR2)e Fi(;)400 661 y Ff(EXPR1)h
- XFi(?)g Ff(EXPR2)g Fi(:)h Ff(EXPR3)e Fi(;)354 725 y Fj(Statements)h(can)h(be)f
- X(combined)g(to)g(form)g(a)h Ff(BLOCK)f Fj(when)g(enclosed)g(in)g
- XFi({})p Fj(.)354 790 y(Compound)g(statements)f(may)h(be)g(used)h(to)f
- X(control)f(\257ow:)400 855 y Fd(if)h Fi(\()p Ff(EXPR)p Fi(\))g
- XFf(BLOCK)g Fj([)h([)f Fd(elsif)g Fi(\()p Ff(EXPR)p Fi(\))g
- XFf(BLOCK)g(...)f Fj(])i Fd(else)f Ff(BLOCK)g Fj(])400 911 y
- XFd(unless)h Fi(\()p Ff(EXPR)p Fi(\))f Ff(BLOCK)g Fj([)h Fd(else)f
- XFf(BLOCK)g Fj(])400 968 y([)h Ff(LABEL)p Fd(:)e Fj(])i Fd(while)f
- XFi(\()p Ff(EXPR)p Fi(\))g Ff(BLOCK)g Fj([)h Fd(continue)g Ff(BLOCK)f
- XFj(])400 1024 y([)h Ff(LABEL)p Fd(:)e Fj(])i Fd(until)f Fi(\()p
- XFf(EXPR)p Fi(\))g Ff(BLOCK)g Fj([)h Fd(continue)g Ff(BLOCK)f
- XFj(])400 1081 y([)h Ff(LABEL)p Fd(:)e Fj(])i Fd(for)f Fi(\()p
- XFf(EXPR)p Fi(;)h Ff(EXPR)p Fi(;)f Ff(EXPR)p Fi(\))f Ff(BLOCK)400
- X1137 y Fj([)i Ff(LABEL)p Fd(:)e Fj(])i Fd(foreach)g Ff(V)m(AR)p
- XFe(y)o Fi(\()p Ff(ARRA)m(Y)p Fi(\))f Ff(BLOCK)400 1194 y Fj([)h
- XFf(LABEL)p Fd(:)e Fj(])i Ff(BLOCK)f Fj([)g Fd(continue)24 b
- XFf(BLOCK)12 b Fj(])354 1258 y(Special)g(forms)f(are:)400 1323
- Xy Fd(do)h Ff(BLOCK)f Fd(while)h Ff(EXPR)e Fi(;)400 1380 y Fd(do)i
- XFf(BLOCK)f Fd(until)g Ff(EXPR)g Fi(;)354 1436 y Fj(which)g(are)i(guaranteed)e
- X(to)g(perform)h Ff(BLOCK)f Fj(once)g(before)h(testing)f Ff(EXPR)p
- XFj(.)355 1559 y Fl(5.)19 b(Flow)h(control)p 355 1580 V 354
- X1681 a Fd(do)12 b Ff(BLOCK)472 1737 y Fj(Returns)g(the)f(value)g(of)h(the)f
- X(last)g(command)f(in)h(the)h(sequence)f(of)h(commands)472 1794
- Xy(indicated)f(by)g Ff(BLOCK)p Fj(.)h Fd(next)p Fj(,)g Fd(last)f
- XFj(and)g Fd(redo)i Fj(cannot)e(be)g(used)h(here.)354 1859 y
- XFd(do)g Ff(SUBROUTINE)p Fd(\(LIST\))472 1915 y Fj(Executes)g(a)f
- XFf(SUBROUTINE)g Fj(declared)h(by)f(a)h Fd(sub)g Fj(declaration,)g(and)f
- X(returns)g(the)472 1971 y(value)h(of)f(the)g(last)g(expression)g(evaluated)g
- X(in)g Ff(SUBROUTINE)g Fj(.)472 2028 y(Preferred)j(form)d(is:)f
- XFi(&)p Ff(SUBROUTINE)h Fj(.)354 2093 y Fd(do)h Ff(FILENAME)472
- X2149 y Fj(Executes)g(the)f(contents)g(of)g Ff(FILENAME)f Fj(as)h(a)h(perl)g
- X(script.)f(Errors)g(are)i(returned)e(in)472 2206 y Fi($@)p
- XFj(.)472 2262 y(Preferred)j(form)d(is:)f Fd(require)j Ff(FILENAME)d
- XFj(.)354 2327 y Fd(goto)j Ff(LABEL)472 2383 y Fj(Continue)e(execution)g(at)h
- X(the)f(speci\256ed)h(label.)354 2448 y Fd(last)f Fj([)p Ff(LABEL)p
- XFj(])472 2504 y(Immediately)g(exits)f(the)i(loop)e(in)h(question.)g(Skips)g
- X(continue)f(block.)354 2569 y Fd(next)i Fj([)p Ff(LABEL)p Fj(])472
- X2626 y(Starts)g(the)f(next)g(iteration)g(of)g(the)g(loop.)354
- X2690 y Fd(redo)i Fj([)p Ff(LABEL)p Fj(])472 2747 y(Restarts)f(the)f(loop)g
- X(block)g(without)f(evaluating)g(the)h(conditional)f(again.)354
- X2812 y Fd(return)j Ff(EXPR)472 2868 y Fj(Returns)f(from)f(a)h(subroutine)e
- X(with)h(the)g(value)g(speci\256ed.)p 354 3018 1512 3 v 354
- X3065 a Fg(3)p eop
- X%%Page: 4 6
- Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
- X3 v 355 -2 a Fl(6.)19 b(Operators)p 355 19 1512 2 v 354 119
- Xa Fi(+)28 b(-)g(*)g(/)g Fj(Addition,)10 b(subtraction,)g(multiplication,)g
- X(division.)354 176 y Fi(\045)193 b Fj(Modulo)10 b(division.)354
- X232 y Fi(|)i(&)44 b(\303)83 b Fj(Bitwise)10 b(or)n(,)j(bitwise)d(and,)i
- X(bitwise)e(exclusive)h(or)m(.)354 289 y Fi(>>)56 b(<<)g Fj(Bitwise)10
- Xb(shift)h(right,)g(bitwise)f(shift)h(left.)354 345 y Fi(**)166
- Xb Fj(Exponentiation.)354 402 y Fi(!)193 b Fj(Negation)10 b(\(unary\).)354
- X458 y Fi(\304)193 b Fj(Bitwise)10 b(complement)h(\(unary\).)354
- X515 y Fi(.)193 b Fj(Concatenation)11 b(of)g(two)g(strings.)354
- X571 y Fd(x)197 b Fj(Returns)11 b(a)h(string)e(or)i(array)g(consisting)d(of)j
- X(the)f(left)g(operand)h(\(an)g(array)g(or)574 628 y(a)f(string\))g(repeated)h
- X(the)f(number)g(of)g(times)g(speci\256ed)h(by)f(the)g(right)g(operand.)354
- X692 y(All)g(of)h(the)f(above)g(operators)h(also)f(have)g(an)h(assignment)e
- X(operator)n(,)i(e.g.)g(\252)p Fi(.=)p Fj(\272.)354 757 y Fi(++)56
- Xb(--)g Fj(Auto-increment)10 b(\(magical)h(on)g(strings\),)g(auto-decrement.)
- X354 813 y Fi(?)28 b(:)138 b Fj(Alternation)10 b(\(if-then-else\))i(operator)m
- X(.)354 870 y Fi(|)q(|)55 b(&&)h Fj(Logical)10 b(or)n(,)i(logical)f(and.)354
- X926 y Fi(=)d(=)48 b(!=)56 b Fj(Numeric)11 b(equality)m(,)g(inequality)m(.)354
- X983 y Fd(eq)62 b(ne)g Fj(String)11 b(equality)m(,)g(inequality)m(.)354
- X1039 y Fi(<)83 b(>)g Fj(Numeric)11 b(less)g(than,)g(greater)h(than.)354
- X1096 y Fd(lt)84 b(gt)71 b Fj(String)11 b(less)f(than,)i(greater)g(than.)354
- X1152 y Fi(<=)56 b(>=)g Fj(Numeric)11 b(less)g(\(greater\))h(than)f(or)h
- X(equal)f(to.)354 1209 y Fd(le)75 b(ge)62 b Fj(String)11 b(less)f(\(greater\))
- Xj(than)e(or)h(equal.)354 1265 y Fi(<=>)139 b Fj(Numeric)11
- Xb(compare.)h(Returns)f(-1,)h(0)f(or)h(1.)354 1322 y Fd(cmp)135
- Xb Fj(String)11 b(compare.)h(Returns)f(-1,)h(0)f(or)h(1.)354
- X1378 y Fi(=\304)56 b(!\304)g Fj(Search)12 b(pattern,)g(substitution,)d(or)i
- X(translation)f(\(negated\).)354 1434 y Fi(..)166 b Fj(Enumeration,)10
- Xb(also)h(input)g(line)f(range)i(operator)m(.)354 1491 y Fi(,)193
- Xb Fj(Comma)11 b(operator)m(.)355 1621 y Fl(7.)19 b(File)g(test)j(operators)p
- X355 1642 V 354 1743 a Fj(These)12 b(unary)f(operators)g(takes)h(one)f(ar)o
- X(gument,)h(either)f(a)h(\256lename)f(or)h(a)f(\256lehandle,)h(and)354
- X1799 y(tests)f(the)g(associated)g(\256le)h(to)f(see)h(if)f(something)f(is)h
- X(true)g(about)g(it.)g(If)h(the)f(ar)o(gument)g(is)354 1856
- Xy(omitted,)g(tests)f Fi($_)j Fj(\(except)e(for)h Fi(-t,)h Fj(which)e(tests)f
- XFi(STDIN)p Fj(\).)k(If)e(the)f(special)g(ar)o(gument)h Fi(_)354
- X1912 y Fj(\(underscore\))g(is)f(passed,)h(uses)f(the)g(info)g(of)h(the)f
- X(preceding)g(test.)354 1977 y Fi(-r)29 b(-w)f(-x)77 b Fj(File)11
- Xb(is)g(readable/writable/executable)g(by)g(ef)o(fective)i(uid/gid.)354
- X2042 y Fi(-R)29 b(-W)f(-X)77 b Fj(File)11 b(is)g
- X(readable/writable/executable)g(by)g(real)h(uid/gid.)354 2106
- Xy Fi(-o)29 b(-O)159 b Fj(File)11 b(is)g(owned)g(by)g(ef)o(fective/real)i
- X(uid.)354 2171 y Fi(-e)29 b(-z)159 b Fj(File)11 b(exists)g(/)g(has)g(zero)h
- X(size.)354 2236 y Fi(-s)242 b Fj(File)11 b(exists)g(and)g(has)g(non-zero)h
- X(size.)g(Returns)f(the)g(size.)354 2301 y Fi(-f)29 b(-d)159
- Xb Fj(File)11 b(is)g(a)h(plain)e(\256le,)j(a)e(directory)m(.)354
- 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
- X(socket,)g(a)f(named)g(pipe)g(\(FIFO\).)354 2430 y Fi(-b)29
- Xb(-c)159 b Fj(File)11 b(is)g(a)h(block/character)g(special)f(\256le.)354
- X2495 y Fi(-u)29 b(-g)f(-k)77 b Fj(File)11 b(has)g(setuid/setgid/sticky)d(bit)
- Xj(set.)354 2560 y Fi(-t)242 b Fj(T)m(ests)10 b(if)i(\256lehandle)f(\()p
- XFi(STDIN)j Fj(by)d(default\))g(is)g(opened)g(to)g(a)h(tty)m(.)354
- X2624 y Fi(-T)29 b(-B)159 b Fj(File)11 b(is)g(a)h(text/non-text)d(\(binary\))j
- X(\256le.)g Fi(-T)g Fj(and)g Fi(-B)g Fj(return)f(TRUE)h(on)f(a)650
- X2681 y(null)f(\256le,)i(or)g(a)f(\256le)h(at)g(EOF)f(when)h(testing)e(a)h
- X(\256lehandle.)354 2746 y Fi(-M)29 b(-A)f(-C)77 b Fj(File)11
- Xb(modi\256cation)f(/)h(access)i(/)e(inode)f(change)i(time.)f(Measured)h(in)f
- X(days)650 2802 y(since)g(this)f(program)h(started.)h(See)g(also)f
- XFi($\303T)i Fj(in)e(section)650 2859 y(\252Special)h(V)-5 b(ariables\272.)p
- X354 3018 1512 3 v 1838 3065 a Fg(4)p eop
- X%%Page: 5 7
- Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
- X3 v 354 -12 a Fj(A)f Ff(LIST)f Fj(is)g(a)g(\(possibly)f(parenthesised\))h
- X(list)g(of)g(expressions,)g(variables)g(or)h Ff(LIST)p Fj(s.)f(An)354
- X45 y(array)i(variable)e(or)g(an)h(array)g(slice)f(may)g(always)h(be)f(used)g
- X(instead)g(of)g(a)h Ff(LIST)p Fj(.)355 168 y Fl(8.)19 b(Arithmetic)i
- X(functions)p 355 189 1512 2 v 354 290 a Fd(atan2\()p Ff(Y)p
- XFd(,)p Ff(X)p Fd(\))472 346 y Fj(Returns)12 b(the)f(arctangent)h(of)f
- XFf(Y)p Fj(/)p Ff(X)g Fj(in)g(the)g(range)h(-)p Fb(\031)h Fj(to)e
- XFb(\031)r Fj(.)354 411 y Fd(cos\()p Ff(EXPR)p Fe(y)o Fd(\))p
- XFj(*)472 467 y(Returns)h(the)f(cosine)g(of)h Ff(EXPR)e Fj(\(expressed)i(in)f
- X(radians\).)354 532 y Fd(exp\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472
- X588 y(Returns)h Fi(e)g Fj(to)f(the)g(power)g(of)h Ff(EXPR)p
- XFj(.)354 653 y Fd(int\()p Ff(EXPR)p Fe(y)n Fd(\))p Fj(*)472
- X710 y(Returns)g(the)f(integer)g(portion)g(of)g Ff(EXPR)p Fj(.)354
- X774 y Fd(log\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472 831 y(Returns)h(natural)f
- X(logarithm)f(\(base)i Fi(e)p Fj(\))g(of)f Ff(EXPR)p Fj(.)354
- X896 y Fd(rand)p Fj([)p Fd(\()p Ff(EXPR)p Fd(\))p Fj(*])472
- X952 y(Returns)h(a)g(random)f(fractional)g(number)g(between)g(0)h(and)f(the)g
- X(value)h(of)f Ff(EXPR)p Fj(.)g(If)472 1008 y Ff(EXPR)g Fj(is)g(omitted,)f
- X(returns)h(a)h(value)f(between)h(0)f(and)h(1.)354 1073 y Fd(sin\()p
- XFf(EXPR)p Fe(y)n Fd(\))p Fj(*)472 1130 y(Returns)g(the)f(sine)g(of)h
- XFf(EXPR)e Fj(\(expressed)i(in)f(radians\).)354 1194 y Fd(sqrt\()p
- XFf(EXPR)p Fe(y)o Fd(\))p Fj(*)472 1251 y(Return)h(the)f(square)h(root)f(of)g
- XFf(EXPR)p Fj(.)354 1316 y Fd(srand)p Fj([)p Fd(\()p Ff(EXPR)p
- XFd(\))p Fj(*])472 1372 y(Sets)h(the)f(random)g(number)g(seed)h(for)f(the)g
- X(rand)h(operator)m(.)354 1437 y Fd(time)32 b Fj(Returns)12
- Xb(the)f(number)g(of)g(seconds)g(since)h(January)f(1,)h(1970.)f(Suitable)g
- X(for)h(feeding)472 1493 y(to)f Fd(gmtime)g Fj(and)h Fd(localtime)p
- XFj(.)355 1618 y Fl(9.)19 b(Conversion)i(functions)p 355 1639
- XV 354 1740 a Fd(gmtime\()p Ff(EXPR)p Fd(\))p Fj(*)472 1796
- Xy(Converts)12 b(a)f(time)g(as)g(returned)h(by)f(the)g Fd(time)g
- XFj(function)g(to)g(a)g(9-element)g(array)i(\()p Fi($)p Fj(sec,)472
- X1852 y Fi($)q Fj(min,)e Fi($)p Fj(hour)n(,)h Fi($)p Fj(mday)m(,)g
- XFi($)p Fj(mon,)f Fi($)p Fj(year)n(,)i Fi($)p Fj(wday)m(,)f
- XFi($)q Fj(yday)m(,)f Fi($)q Fj(isdst\))f(with)g(the)i(time)472
- X1909 y(analyzed)g(for)g(the)f(Greenwich)h(timezone.)f Fi($)p
- XFj(mon)g(has)g(the)g(range)h(0..11)g(and)f Fi($)q Fj(wday)472
- X1965 y(has)h(the)f(range)h(0..6.)354 2030 y Fd(hex\()p Ff(EXPR)p
- XFe(y)o Fd(\))p Fj(*)472 2087 y(Returns)g(the)f(decimal)g(value)g(of)h
- XFf(EXPR)e Fj(interpreted)i(as)f(an)h(hex)f(string.)354 2151
- Xy Fd(localtime\()p Ff(EXPR)p Fd(\))p Fj(*)472 2208 y(Converts)h(a)f(time)g
- X(as)g(returned)h(by)f(the)g Fd(time)g Fj(function)g(to)g(a)g(9-element)g
- X(array)i(with)472 2264 y(the)f(time)e(analyzed)i(for)g(the)f(local)g
- X(timezone.)354 2329 y Fd(oct\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472
- X2385 y(Returns)h(the)f(decimal)g(value)g(of)h Ff(EXPR)e Fj(interpreted)i(as)f
- X(an)h(octal)f(string.)g(If)g Ff(EXPR)472 2442 y Fj(starts)g(of)o(f)h(with)f
- XFi(0x)p Fj(,)h(interprets)f(it)g(as)g(a)h(hex)f(string)g(instead.)354
- X2507 y Fd(ord\()p Ff(EXPR)p Fe(y)o Fd(\))p Fj(*)472 2563 y(Returns)h(the)f
- X(ascii)g(value)h(of)f(the)g(\256rst)h(character)g(of)g Ff(EXPR)p
- XFj(.)354 2628 y Fd(vec\()p Ff(EXPR)p Fd(,)p Ff(OFFSET)p Fd(,)p
- XFf(BITS)p Fd(\))472 2684 y Fj(T)n(reats)g Ff(EXPR)f Fj(as)g(a)h(string)e(of)i
- X(unsigned)e(ints,)h(and)g(yields)g(the)g(bit)g(at)g Ff(OFFSET)p
- XFj(.)472 2741 y Ff(BITS)g Fj(must)f(be)i(between)f(1)h(and)f(32.)h(May)f(be)g
- X(used)g(as)h(an)f(lvalue.)p 354 3018 1512 3 v 354 3065 a Fg(5)p
- Xeop
- X%%Page: 6 8
- Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
- X3 v 355 -2 a Fl(10.)19 b(Structure)k(conversion)p 355 19 1512
- X2 v 354 119 a Fd(pack\()p Ff(TEMPLA)m(TE)p Fd(,)p Ff(LIST)p
- XFd(\))472 176 y Fj(Packs)12 b(the)g(values)f(into)f(a)i(binary)f(structure)g
- X(using)f Ff(TEMPLA)m(TE)p Fj(.)354 241 y Fd(unpack\()p Ff(TEMPLA)m(TE)p
- XFd(,)p Ff(EXPR)p Fd(\))472 297 y Fj(Unpacks)i(the)f(structure)g
- XFf(EXPR)f Fj(into)h(an)g(array)m(,)i(using)d Ff(TEMPLA)m(TE)p
- XFj(.)472 362 y Ff(TEMPLA)m(TE)h Fj(is)g(a)g(sequence)h(of)g(characters)g(as)g
- X(follows:)527 427 y Fi(a)28 b Fj(/)42 b Fi(A)55 b Fj(Ascii)11
- Xb(string,)g(null)f(/)h(space)h(padded)527 483 y Fi(b)28 b Fj(/)42
- Xb Fi(B)55 b Fj(Bit)11 b(string)g(in)g(ascending)g(/)g(descending)g(order)527
- X540 y Fi(c)28 b Fj(/)42 b Fi(C)55 b Fj(Native)11 b(/)g(unsigned)g(char)h
- X(value)527 596 y Fi(f)28 b Fj(/)42 b Fi(d)55 b Fj(Single)11
- Xb(/)g(double)g(\257oat)h(in)f(native)g(format)527 652 y Fi(h)28
- Xb Fj(/)42 b Fi(H)55 b Fj(Hex)12 b(string,)e(low)h(/)g(high)g(nybble)g
- X(\256rst.)527 709 y Fi(i)28 b Fj(/)42 b Fi(I)55 b Fj(Signed)11
- Xb(/)g(unsigned)g(integer)g(value)527 765 y Fi(l)28 b Fj(/)42
- Xb Fi(L)55 b Fj(Signed)11 b(/)g(unsigned)g(long)f(value)527
- X822 y Fi(n)28 b Fj(/)42 b Fi(N)55 b Fj(Short)11 b(/)g(long)g(in)g(network)g
- X(\(big)g(endian\))g(byte)g(order)527 878 y Fi(s)28 b Fj(/)42
- Xb Fi(S)55 b Fj(Signed)11 b(/)g(unsigned)g(short)f(value)527
- X935 y Fi(u)28 b Fj(/)42 b Fi(p)55 b Fj(Uuencoded)11 b(string)g(/)g(Pointer)g
- X(to)g(a)h(string)527 991 y Fi(v)28 b Fj(/)42 b Fi(V)55 b Fj(Short)11
- Xb(/)g(long)g(in)g(V)-6 b(AX)11 b(\(little)g(endian\))g(byte)g(order)527
- X1048 y Fi(x)28 b Fj(/)42 b Fi(@)55 b Fj(Null)11 b(byte)g(/)g(null)f(\256ll)h
- X(until)g(position)527 1104 y Fi(X)165 b Fj(Backup)12 b(a)g(byte)472
- X1169 y(Each)g(character)h(may)e(be)g(followed)g(by)g(a)h(decimal)f(number)g
- X(which)g(will)f(be)i(used)f(as)472 1225 y(a)h(repeat)g(count,)f(an)h
- XFi(*)g Fj(speci\256es)f(all)g(remaining)g(ar)o(guments.)472
- X1282 y(If)h(the)f(format)h(is)f(preceded)h(with)e Fi(\045)p
- XFf(N)p Fj(,)j Fd(unpack)f Fj(returns)f(an)h Ff(N)p Fj(-bit)f(checksum)472
- X1338 y(instead.)472 1395 y(Spaces)i(may)e(be)g(included)g(in)g(the)g
- X(template)g(for)g(readability)g(purposes.)355 1518 y Fl(11.)19
- Xb(String)i(functions)p 355 1539 V 354 1639 a Fd(chop\()p Ff(LIST)p
- XFe(y)p Fd(\))472 1696 y Fj(Chops)12 b(of)o(f)f(the)h(last)e(character)j(on)e
- X(all)g(elements)g(of)h(the)f(list;)f(returns)h(the)g(last)472
- X1752 y(chopped)h(character)m(.)h(The)f(parentheses)f(may)g(be)h(omitted)e(if)
- Xh Ff(LIST)g Fj(is)g(a)h(single)472 1809 y(variable.)354 1873
- Xy Fd(crypt\()p Ff(PLAINTEXT)p Fd(,)p Ff(SAL)m(T)p Fd(\))472
- X1930 y Fj(Encrypts)f(a)h(string.)354 1995 y Fd(eval\()p Ff(EXPR)p
- XFe(y)n Fd(\))p Fj(*)472 2051 y Ff(EXPR)f Fj(is)g(parsed)g(and)h(executed)f
- X(as)h(if)f(it)g(were)h(a)g(perl)f(program.)h(The)f(value)472
- X2108 y(returned)h(is)f(the)g(value)g(of)h(the)f(last)g(expression)g
- X(evaluated.)g(If)h(there)g(is)f(a)h(syntax)472 2164 y(error)h(or)e(runtime)g
- X(error)n(,)h(an)g(unde\256ned)f(string)g(is)g(returned)g(by)g
- XFd(eval)p Fj(,)h(and)f Fi($@)h Fj(is)f(set)472 2221 y(to)g(the)h(error)g
- X(message.)354 2285 y Fd(eval)p Fa({)p Ff(EXPR)p Fd(;...)p Fa(})472
- X2342 y Fj(Executes)e(the)g(code)g(between)g Fi({)g Fj(and)g
- XFi(})p Fj(.)h(T)n(raps)f(runtime)f(errors)h(as)g(described)g(above.)354
- X2406 y Fd(index\()p Ff(STR)p Fd(,)p Ff(SUBSTR)p Fj([)p Fd(,)p
- XFf(OFFSET)p Fj(])p Fd(\))472 2463 y Fj(Returns)h(the)g(position)e(of)i
- XFf(SUBSTR)f Fj(in)g Ff(STR)h Fj(at)g(or)g(after)g Ff(OFFSET)p
- XFj(.)h(If)f(the)g(substring)472 2519 y(is)g(not)g(found,)g(returns)h
- XFi($[-1)p Fj(.)354 2584 y Fd(length\()p Ff(EXPR)p Fe(y)o Fd(\))p
- XFj(*)472 2641 y(Returns)g(the)f(length)g(in)g(characters)h(of)g(the)f(value)g
- X(of)h Ff(EXPR)p Fj(.)354 2705 y Fd(rindex\()p Ff(STR)p Fd(,)p
- XFf(SUBSTR)p Fj([)p Fd(,)p Ff(OFFSET)p Fj(])p Fd(\))472 2762
- Xy Fj(Returns)g(the)f(position)f(of)h(the)g(last)g Ff(SUBSTR)g
- XFj(in)g Ff(STR)g Fj(at)h(or)f(before)h Ff(OFFSET)p Fj(.)354
- X2827 y Fd(substr\()p Ff(EXPR)p Fd(,)p Ff(OFFSET)p Fj([)p Fd(,)p
- XFf(LEN)p Fj(])p Fd(\))472 2883 y Fj(Extracts)f(a)h(substring)e(out)h(of)g
- XFf(EXPR)g Fj(and)g(returns)g(it.)h(If)f Ff(OFFSET)i Fj(is)d(negative,)472
- X2939 y(counts)h(from)g(the)g(end)h(of)f(the)g(string.)g(May)g(be)h(used)f(as)
- Xh(an)f(lvalue.)p 354 3018 1512 3 v 1838 3065 a Fg(6)p eop
- X%%Page: 7 9
- Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
- X3 v 355 -2 a Fl(12.)19 b(Array)i(and)f(list)g(functions)p 355
- X19 1512 2 v 354 119 a Fd(delete)12 b Fi($)p Ff(ARRA)m(Y)p Fi({)o
- XFf(KEY)p Fi(})472 176 y Fj(Deletes)g(the)f(speci\256ed)h(value)f(from)g(the)g
- X(speci\256ed)h(associative)f(array)m(.)i(Returns)e(the)472
- X232 y(deleted)h(value.)354 297 y Fd(each\()p Fi(\045)q Ff(ARRA)m(Y)p
- XFd(\))p Fj(*)472 354 y(Returns)g(a)g(2-element)f(array)h(consisting)d(of)j
- X(the)f(key)g(and)h(value)f(for)h(the)f(next)g(value)472 410
- Xy(of)h(an)f(associative)g(array)m(.)i(Entries)e(are)h(returned)f(in)g(an)h
- X(apparently)f(random)g(order)m(.)472 466 y(When)h(the)f(array)h(is)f
- X(entirely)g(read,)i(a)e(null)g(array)h(is)f(returned.)h(The)f(next)g(call)h
- X(to)472 523 y Fd(each)g Fj(after)h(that)d(will)h(start)g(iterating)g(again.)
- X354 588 y Fd(grep\()p Ff(EXPR)p Fd(,)p Ff(LIST)p Fd(\))472
- X644 y Fj(Evaluates)g Ff(EXPR)g Fj(for)g(each)i(element)e(of)g(the)g
- XFf(LIST)p Fj(,)h(locally)e(setting)h Fi($_)h Fj(to)f(refer)h(to)472
- X701 y(the)g(element.)f(Modifying)f Fi($_)i Fj(will)e(modify)h(the)g
- X(corresponding)g(element)g(from)472 757 y Ff(LIST)p Fj(.)h(Returns)f(array)i
- X(of)e(elements)g(from)g Ff(LIST)g Fj(for)h(which)f Ff(EXPR)f
- XFj(returned)i(true.)354 822 y Fd(join\()p Ff(EXPR)p Fd(,)p
- XFf(LIST)p Fd(\))472 878 y Fj(Joins)e(the)h(separate)h(strings)e(of)h
- XFf(LIST)g Fj(into)f(a)h(single)g(string)f(with)g(\256elds)h(separated)g(by)
- X472 935 y(the)h(value)f(of)g Ff(EXPR)p Fj(,)g(and)h(returns)f(the)g(string.)
- X354 999 y Fd(keys\()p Fi(\045)q Ff(ARRA)m(Y)p Fd(\))p Fj(*)472
- X1056 y(Returns)h(an)f(array)i(with)d(of)i(all)f(the)g(keys)g(of)h(the)f
- X(named)g(associative)g(array)m(.)354 1121 y Fd(pop\()p Fi(@)p
- XFf(ARRA)m(Y)p Fd(\))p Fj(*)472 1177 y(Pops)h(and)f(returns)g(the)g(last)g
- X(value)h(of)f(the)g(array)m(,)i(shortens)e(the)g(array)h(by)f(1.)354
- X1242 y Fd(push\()p Fi(@)p Ff(ARRA)m(Y)p Fd(,)p Ff(LIST)p Fd(\))472
- X1298 y Fj(Pushes)h(the)f(values)g(of)g Ff(LIST)h Fj(onto)e(the)h(end)h(of)f
- XFf(ARRA)m(Y)p Fj(.)g(The)g(length)g(of)g(the)h(array)472 1355
- Xy(increases)g(by)f(the)h(length)e(of)i Ff(LIST)p Fj(.)354 1420
- Xy Fd(reverse\()p Ff(LIST)p Fd(\))p Fj(*)472 1476 y(In)g(array)g(context:)f
- X(returns)g(the)g Ff(LIST)g Fj(in)g(reverse)h(order)m(.)472
- X1532 y(In)g(scalar)g(context:)e(returns)i(the)f(\256rst)g(element)g(of)h
- XFf(LIST)f Fj(with)f(bytes)h(reversed.)354 1597 y Fd(scalar\()p
- XFi(@)p Ff(ARRA)m(Y)p Fd(\))472 1654 y Fj(Returns)h(the)f(number)g(of)g
- X(elements)g(in)g(the)g(array)m(.)354 1718 y Fd(scalar\()p Fi(\045)q
- XFf(ARRA)m(Y)p Fd(\))472 1775 y Fj(Returns)h(TRUE)g(if)f(the)g(associative)g
- X(array)h(has)f(elements)g(de\256ned.)354 1840 y Fd(shift)p
- XFj([)p Fd(\()p Fi(@)p Ff(ARRA)m(Y)p Fd(\))p Fj(*])472 1896
- Xy(Shifts)g(the)h(\256rst)f(value)g(of)h(the)f(array)h(of)o(f)g(and)f(returns)
- Xh(it,)f(shortening)f(the)h(array)i(by)e(1)472 1953 y(and)h(moving)e
- X(everything)g(down.)i(If)g Fi(@)p Ff(ARRA)m(Y)e Fj(is)h(omitted,)g(shifts)f
- XFi(@ARGV)j Fj(in)e(main)472 2009 y(and)h Fi(@_)g Fj(in)f(subroutines.)354
- X2074 y Fd(sort\()h Fj([)p Ff(SUBROUTINE)f Fj(])g Ff(LIST)p
- XFd(\))p Fj(*)472 2130 y(Sorts)h(the)f Ff(LIST)g Fj(and)g(returns)h(the)f
- X(sorted)g(array)h(value.)g(If)g Ff(SUBROUTINE)e Fj(is)472 2187
- Xy(speci\256ed,)j(gives)d(the)i(name)f(of)g(a)h(subroutine)e(that)h(returns)g
- X(less)g(than)g(zero,)i(zero,)f(or)472 2243 y(greater)h(than)e(zero,)h
- X(depending)f(on)g(how)g(the)g(elements)g(of)g(the)g(array)m(,)i(available)e
- X(to)472 2300 y(the)h(routine)e(as)i Fi($a)g Fj(and)f Fi($b)p
- XFj(,)i(are)f(to)f(be)h(ordered.)472 2356 y Ff(SUBROUTINE)f
- XFj(may)g(be)h(the)f(name)g(of)h(a)f(user)o(-de\256ned)h(routine,)g(or)f(a)h
- XFf(BLOCK)f Fj(\(see)472 2412 y(\252Statements\272)h(and)f
- X(\252Miscellaneous\272\).)354 2477 y Fd(splice\()p Fi(@)p Ff(ARRA)m(Y)p
- XFd(,)p Ff(OFFSET)p Fj([)p Fd(,)p Ff(LENGTH)p Fj([)p Fd(,)p
- XFf(LIST)p Fj(]])p Fd(\))472 2534 y Fj(Removes)h(the)f(elements)g(of)g
- XFi(@)p Ff(ARRA)m(Y)g Fj(designated)g(by)g Ff(OFFSET)h Fj(and)f
- XFf(LENGTH)p Fj(,)472 2590 y(and)h(replaces)g(them)f(with)f
- XFf(LIST)h Fj(\(if)h(speci\256ed\).)472 2647 y(Returns)g(the)f(elements)g
- X(removed.)354 2711 y Fd(split)p Fj([)p Fd(\()p Ff(P)m(A)m(TTERN)p
- XFj([)p Fd(,)p Ff(EXPR)p Fe(y)m Fj([)p Fd(,)p Ff(LIMIT)p Fj(]])p
- XFd(\))p Fj(])472 2768 y(Splits)g(a)h(string)e(into)h(an)g(array)h(of)g
- X(strings,)e(and)i(returns)f(it.)g(If)h Ff(LIMIT)e Fj(is)h(speci\256ed,)472
- X2824 y(splits)f(in)h(no)g(more)h(than)f(that)g(many)f(\256elds.)i(If)g
- XFf(P)m(A)m(TTERN)f Fj(is)g(also)g(omitted,)f(splits)472 2881
- Xy(on)i(whitespace.)f(If)h(not)f(in)g(array)h(context:)f(returns)g(number)g
- X(of)g(\256elds)g(and)h(splits)e(to)472 2937 y Fi(@_)p Fj(.)j(See)f(also:)f
- X(\252Search)i(and)e(Replace)i(Functions\272.)p 354 3018 1512
- X3 v 354 3065 a Fg(7)p eop
- X%%Page: 8 10
- Xbop 1362 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
- X3 v 354 -12 a Fd(unshift\()p Fi(@)p Ff(ARRA)m(Y)p Fd(,)p Ff(LIST)p
- XFd(\))472 45 y Fj(Prepends)f(list)f(to)f(the)i(front)f(of)g(the)h(array)m(,)g
- X(and)g(returns)f(the)g(number)g(of)g(elements)g(in)472 101
- Xy(the)h(new)f(array)m(.)354 166 y Fd(values\()p Fi(\045)q Ff(ARRA)m(Y)p
- XFd(\))p Fj(*)472 222 y(Returns)h(a)g(normal)e(array)j(consisting)c(of)j(all)f
- X(the)g(values)g(of)g(the)h(named)f(associative)472 279 y(array)m(.)355
- X520 y Fl(13.)19 b(File)h(operations)p 355 541 1512 2 v 354
- X642 a Fj(Functions)11 b(operating)g(on)g(a)h(list)e(of)h(\256les)h(return)f
- X(the)g(number)g(of)h(\256les)f(successfully)354 698 y(operated)h(upon.)354
- X763 y Fd(chmod\()p Ff(LIST)p Fd(\))p Fj(*)472 819 y(Changes)g(the)f
- X(permissions)f(of)h(a)h(list)e(of)i(\256les.)g(The)f(\256rst)h(element)f(of)g
- X(the)g(list)g(must)472 876 y(be)h(the)f(numerical)g(mode.)354
- X941 y Fd(chown\()p Ff(LIST)p Fd(\))p Fj(*)472 997 y(Changes)h(the)f(owner)h
- X(and)f(group)g(of)h(a)f(list)g(of)g(\256les.)h(The)f(\256rst)h(two)f
- X(elements)f(of)i(the)472 1054 y(list)f(must)f(be)h(the)h(numerical)f(uid)f
- X(and)i(gid.)354 1118 y Fd(truncate\()p Ff(FILE)p Fd(,)p Ff(SIZE)p
- XFd(\))472 1175 y Fj(truncates)g Ff(FILE)f Fj(to)g Ff(SIZE)p
- XFj(.)g Ff(FILE)g Fj(may)g(be)g(a)h(\256lename)g(or)f(a)h(\256lehandle.)354
- X1240 y Fd(link\()p Ff(OLDFILE)p Fd(,)p Ff(NEWFILE)p Fd(\))472
- X1296 y Fj(Creates)h(a)e(new)h(\256lename)g(linked)e(to)h(the)g(old)g
- X(\256lename.)354 1361 y Fd(lstat\()p Ff(FILE)p Fd(\))472 1417
- Xy Fj(Like)h(stat,)f(but)g(does)g(not)f(traverse)i(a)g(\256nal)g(symbolic)e
- X(link.)354 1482 y Fd(mkdir\()p Ff(DIR)p Fd(,)p Ff(MODE)p Fd(\))472
- X1538 y Fj(Creates)j(a)e(directory)h(with)e(given)h(permissions.)f(Sets)i
- XFi($!)g Fj(on)f(failure.)354 1603 y Fd(readlink\()p Ff(EXPR)p
- XFe(y)o Fd(\))p Fj(*)472 1660 y(Returns)h(the)f(value)g(of)h(a)g(symbolic)d
- X(link.)354 1724 y Fd(rename\()p Ff(OLDNAME)p Fd(,)p Ff(NEWNAME)p
- XFd(\))472 1781 y Fj(Changes)j(the)f(name)h(of)f(a)h(\256le.)354
- X1846 y Fd(rmdir\()p Ff(FILENAME)p Fe(y)n Fd(\))p Fj(*)472 1902
- Xy(Deletes)g(the)f(directory)g(if)h(it)e(is)h(empty)m(.)g(Sets)h
- XFi($!)g Fj(on)f(failure.)354 1967 y Fd(stat\()p Ff(FILE)p Fd(\))472
- X2023 y Fj(Returns)h(a)g(13-element)e(array)j(\()p Fi($)p Fj(dev)m(,)f
- XFi($)p Fj(ino,)g Fi($)p Fj(mode,)f Fi($)q Fj(nlink,)f Fi($)q
- XFj(uid,)h Fi($)p Fj(gid,)h Fi($)p Fj(rdev)m(,)472 2080 y Fi($)q
- XFj(size,)g Fi($)p Fj(atime,)f Fi($)q Fj(mtime,)f Fi($)q Fj(ctime,)h
- XFi($)p Fj(blksize,)h Fi($)p Fj(blocks\).)f Ff(FILE)g Fj(can)h(be)g(a)472
- X2136 y(\256lehandle,)g(an)e(expression)g(evaluating)g(to)g(a)h(\256lename,)g
- X(or)g Fi(_)g Fj(to)f(refer)i(to)e(the)h(last)f(\256le)472 2193
- Xy(test)h(operation.)472 2249 y(Returns)h(a)g(null)e(list)g(if)i(the)f
- XFd(stat)g Fj(fails.)354 2314 y Fd(symlink\()p Ff(OLDFILE)p
- XFd(,)p Ff(NEWFILE)p Fd(\))472 2370 y Fj(Creates)i(a)e(new)h(\256lename)g
- X(symbolically)d(linked)i(to)g(the)g(old)g(\256lename.)354 2435
- Xy Fd(unlink\()p Ff(LIST)p Fd(\))p Fj(*)472 2491 y(Deletes)h(a)f(list)g(of)g
- X(\256les.)354 2556 y Fd(utime\()p Ff(LIST)p Fd(\))p Fj(*)472
- X2613 y(Changes)h(the)f(access)h(and)f(modi\256cation)f(times.)g(The)i
- X(\256rst)f(two)g(elements)f(of)h(the)g(list)472 2669 y(must)g(be)g(the)g
- X(numerical)g(access)h(and)g(modi\256cation)e(times.)p 354 3018
- X1512 3 v 1838 3065 a Fg(8)p eop
- X%%Page: 9 11
- Xbop 354 -101 a Fg(Perl)14 b(Reference)f(Guide)p 354 -89 1512
- X3 v 355 -2 a Fl(14.)19 b(Directory)j(reading)e(routines)p 355
- X19 1512 2 v 354 119 a Fd(closedir\()p Ff(DIRHANDLE)p Fd(\))p
- XFj(*)472 176 y(Closes)12 b(a)f(directory)h(opened)f(by)g(opendir)m(.)354
- END_OF_FILE
- if test 45310 -ne `wc -c <'refbase.ps.A'`; then
- echo shar: \"'refbase.ps.A'\" unpacked with wrong size!
- elif test -f 'refbase.ps.B'; then
- echo shar: Combining \"'refbase.ps'\" \(86092 characters\)
- cat 'refbase.ps.A' 'refbase.ps.B' > 'refbase.ps'
- if test 86092 -ne `wc -c <'refbase.ps'`; then
- echo shar: \"'refbase.ps'\" combined with wrong size!
- else
- rm refbase.ps.A refbase.ps.B
- fi
- fi
- # end of 'refbase.ps.A'
- fi
- echo shar: End of archive 1 \(of 3\).
- cp /dev/null ark1isdone
- MISSING=""
- for I in 1 2 3 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 3 archives.
- rm -f ark[1-9]isdone
- else
- echo You still must unpack the following archives:
- echo " " ${MISSING}
- fi
- exit 0
- exit 0 # Just in case...
-