jv@mh.nl (Johan Vromans) (06/13/90)
This is a TeX version of the information on the Perl Reference Guide, based on guide version 3.0.18.2. It will create a printable copy of the information on the Guide, but not its fancy formatting. NOTE: This TeX document has been created by Raymond Chen <raymond@math.berkeley.edu>. You should contact him for details and remarks. I'm only passing it through. Submitted-by: Raymond Chen <raymond@math.berkeley.edu> Archive-name: perlref.tex/part01 ---- Cut Here and unpack ---- #!/bin/sh # This is perlref.tex, a shell archive (shar 3.24) # made 06/13/1990 08:34 UTC by jv@squirrel # Source directory /u/jv/perlref/TeX # # existing files WILL be overwritten # # This is part 1 of a multipart archive # do not concatenate these parts, unpack them in order with /bin/sh # # This shar contains: # length mode name # ------ ---------- ------------------------------------------ # 37522 -rw-r--r-- perlref.tex # if touch 2>&1 | fgrep '[-amc]' > /dev/null then TOUCH=touch else TOUCH=true fi if test -r shar3_seq_.tmp; then echo "Must unpack archives in sequence!" next=`cat shar3_seq_.tmp`; echo "Please unpack part $next next" exit 1 fi # ============= perlref.tex ============== echo "x - extracting perlref.tex (Text)" sed 's/^X//' << 'SHAR_EOF' > perlref.tex && X% Perl Reference Guide (for perl version 3.0) X% X% Perl designed and created by Larry Wall <lwall@jpl-devvax.jpl.nasa.gov> X% Reference guide designed and created by Johan Vromans <jv@mh.nl> X% TeX version by Raymond Chen <raymond@math.berkeley.edu> X% X% Copyright 1989, 1990 Johan Vromans X% TeX version Copyright 1990 Raymond Chen X% X% Rev. 3.0.18.1 Use and reproduction of this information is unlimited. X% X% Changes to Johan's wording are marked by %%rjc%% X% X%%%%%%%%%% This file uses one nonstandard font for the title page. X% If you don't have it, then change the following \iffalse to \iftrue. X\iffalse X \let\twelvebf=\bf X\else X \font\twelvebf=cmbx12 X\fi X%%%%%%%%%% You may steal the following magic macros. X% X% Magic: X% X% |stuff| puts the stuff in \tt. X% <stuff> puts the stuff in \it. X X%% verbatim macros X\chardef\other=12 X\def\ttverbatim{\begingroup \catcode`\\=\other \catcode`\{=\other X\catcode`\}=\other \catcode`\$=\other \catcode`\&=\other X\catcode`\#=\other \catcode`\%=\other \catcode`\~=\other X\catcode`\_=\other \catcode`\^=\other \catcode`\<=\other X\obeyspaces \obeylines \tt} X X{\catcode`\|=\active X\obeylines \gdef|{\leavevmode% X \ttverbatim \spaceskip.5em plus.25em minus.15em% X \let^^M=\ \let|=\endgroup \escapechar`\|}} X X\catcode`\|=\active X\def\|{\leavevmode\hbox{\tt\char`\|}} X X\catcode`\<=\active X\def<{\leavevmode\italicizerest} X\def\italicizerest#1>{{\it#1\/}} X X\def\cstok#1{\leavevmode\thinspace\hbox{\vrule\vtop{\vbox{\hrule\kern1pt% X \hbox{\vphantom{\tt/}\thinspace{\tt#1}\thinspace}}% X \kern1pt\hrule}\vrule}\thinspace} X X\catcode`\&=\active X\let&=\undefined X X\def\*{$^\dagger$} X X\newdimen\tablewidth X\def\table{\everypar={\nextitem}\parindent=0pt\tablewidth} X\def\endtable{\everypar={}\par} X X\def\outtext{\everypar={\hangindent=3pc\relax}\parindent0pt\relax} X\def\text{\everypar={}\parindent0pt\relax} X X\def\nextitem{\bgroup\let\par\means\obeylines\global\setbox0=\hbox\bgroup} X\def\means{\enskip\egroup\egroup X \ifdim\wd0>\tablewidth X \hangindent\tablewidth X \box0\hfill\break X \hskip\tablewidth X \else\hangindent\tablewidth X \hbox to\tablewidth{\box0\hss}% X \fi\ignorespaces} X X%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% X X\centerline{\twelvebf Perl Reference Guide} X\centerline{\bf for perl version 3.0} X\medskip X\hbox to \hsize{\hss X Perl program designed and X created by Larry Wall |<lwall@jpl-devvax.jpl.nasa.gov>|\hss} X\hbox to \hsize{\hss X Reference guide designed and created by Johan Vromans |<jv@mh.nl>|\hss} X\hbox to \hsize{\hss X \TeX\ version by Raymond Chen |<raymond@math.berkeley.edu>|\hss} X\medskip X\centerline{Copyright \copyright 1989, 1990 Johan Vromans} X\centerline{\TeX\ version Copyright 1990 Raymond Chen} X\centerline{Rev. 3.0.18.1} X\centerline{Use and reproduction of this information is unlimited.} X\bigskip X X\centerline{\bf Contents} X\bigskip X\line{\hss\catcode`\?=\active \let?=\space X\def\<#1. #2.{\hbox{#1\quad#2}} X\vbox{ X\<?1. Command line options. X\<?2. Literals. X\<?3. Variables. X\<?4. Statements. X\<?5. Flow control. X\<?6. Operators. X\<?7. File test operators. X\<?8. Arithmetic functions. X\<?9. Conversion functions. X\<10. Structure conversion. X\<11. String functions. X\<12. Array and list functions. X}\qquad\vbox{ X\<13. File operations. X\<14. Directory reading routines. X\<15. Input/Output. X\<16. Search and replace functions. X\<17. System interaction. X\<18. Networking. X\<19. Miscellaneous. X\<20. Info from system files. X\<21. Regular expressions. X\<22. Formats. X\<23. Special variables. X\<24. Special arrays. X}\hss} X X\beginsection 1. Command line options X X\table1.2in X X|-a| Xturns on autosplit mode when used with |-n| or |-p|. Splits to |@F|. X X|-d| Xruns the script under the debugger. Use ``|-de 0|'' to start the Xdebugger without a script. X X|-D|<number> Xsets debugging flags. X X|-e| <commandline> X may be used to enter one line of script. Multiple X |-e| commands may be given to build up a multi-line script. X X|-i|<extension> X specifies that files processed by X the |<>| construct are to be edited in-place. X X|-I|<directory> X with |-P|: tells the C preprocessor where to look X for include files. X X|-n| Xassumes an input loop around your script. Lines are not printed. X X|-p| Xassumes an input loop around your script. Lines are printed. X X|-P| Xruns the C preprocessor on the script before compilation by perl. X X|-s| X interprets ``|-xxx|'' on the command line as switches and sets the X corresponding variables |$xxx| in the script. X X|-S| Xuses the |PATH| environment variable to search for the script. X X|-u| Xdumps core after compiling the script. X X|-U| Xallows perl to do unsafe operations. X X|-v| Xprints the version and patchlevel of your perl executable. X X|-w| X prints warnings about possible spelling errors and other error-prone X constructs in the script. X\endtable X X\beginsection 2. Literals X X\outtext X XNumeric: |123|, |123.4|, |5E-10|, |0xff| (hex), |0377| (octal). X XString: |"abc"|, |'abc'|. X Variables are interpolated when |"|\dots|"| are used. \hfil\break X |q/|\dots|/| X can be used instead of |'|\dots|'|, |qq/|\dots|/| instead of |"|\dots|"|, X (any delimiter instead of |/|\dots|/|). X XArray: |(1,2,3)|. |()| is empty array. X Also: |($a,$b,@rest) = (1,2,|\dots|);| X Enums are fine: |(1..4)| is |(1,2,3,4)|. Likewise |('abc'..'ade')|. X XFilehandles: X|<STDIN>|, |<STDOUT>|, |<STDERR>|, |<handle>|, |<$var>|. X|<>| is the input stream formed by the files specified in |@ARGV|, Xor |STDIN| if no arguments are supplied. X XGlobs: X|<pattern>| evaluates to all filenames according to the pattern. XUse |<${var}>| to glob from a variable. X XCommands: X|`command`| evaluates to the output of the command. X XHere-Is: |<<identifier| |#| the identifier must follow |<<| immediately X \hfill\break X{\it input text} \hfill\break X|identifier| X X\beginsection 3. Variables X X\table 1.2in X X|$var| X a simple scalar variable X X|$var[28]| X 29th element of array |@var| (the |[]| are part of it) X X|$var{'Feb'}| X one value from associative array |%var| X X|$#var| X last index of array |@var| X X|@var| X the entire array X X|@var[3,4,5]| X a slice of the array |@var| X X|@var{'a','b'}| X a slice of |%var|; same as |($var{'a'},$var{'b'})| X X|%var| X the entire associative array X X|$var{'a',1,|\dots|}| X emulates a multi-dimensional array X X|('a',1,|\dots|)[4]| X subscripts an array literal X X|*name| X refers to all objects represented by name. \hfil\break X ``|*name1 = *name2|'' makes |name1| identical to |name2|. X\endtable X X\beginsection 4. Statements X X\text X XEvery statement is an expression, optionally followed by a modifier, and Xterminated by a semi-colon. X XExecution of expressions can depend on other expressions using one of Xthe modifiers ``if'', ``unless'', ``while'' or ``until'', e.g.: X$$\vbox{ X\hbox{<EXPR1> if <EXPR2>;} X\hbox{<EXPR1> until <EXPR2>;}}$$ X XAlso, by using one of the logical operators ``\|\|'', ``|&&|'' Xor ``|?:|'', e.g.: X$$\vbox{ X\hbox{<EXPR1> \|\| <EXPR2>;} X\hbox{<EXPR1> ? <EXPR2> : <EXPR3>;}}$$ X XStatements can be combined to form a <BLOCK> when enclosed in |{}|. X XCompound statements may be used to control flow (|[]| denote optional Xparts, \* means: defaults to |$_| if omitted): X$$\vbox{ X\hbox{if (<EXPR>) <BLOCK> [ [ elsif (<EXPR>) <BLOCK> \dots\ ] else <BLOCK> ]} X\hbox{unless (<EXPR>) <BLOCK> [ else <BLOCK> ]} X\hbox{[<LABEL>:] while (<EXPR>) <BLOCK> [ continue <BLOCK> ]} X\hbox{[<LABEL>:] until (<EXPR>) <BLOCK> [ continue <BLOCK> ]} X\hbox{[<LABEL>:] for (<EXPR>; <EXPR>; <EXPR>) <BLOCK>} X\hbox{[<LABEL>:] foreach <VAR>\*\ (<ARRAY>) <BLOCK>} X\hbox{[<LABEL>:] <BLOCK> [ continue <BLOCK> ]}}$$ X XSpecial forms are: X$$\vbox{ X\hbox{do <BLOCK> while <EXPR>;} X\hbox{do <BLOCK> until <EXPR>;}}$$ Xwhich are guaranteed to perform <BLOCK> once before testing <EXPR>. X X\beginsection 5. Flow control X X\table 1in X Xdo <BLOCK> XReturns the value of the last command in the sequence of Xcommands indicated by <BLOCK>. X Xdo <SUBROUTINE> (<LIST>) XExecutes a <SUBROUTINE> declared by a |sub| declaration, and Xreturns the value of the last expression evaluated in X<SUBROUTINE>. Also: |&|<SUBROUTINE>. X Xdo <EXPR> XUses the value of <EXPR> as a filename and executes the contents of Xthe file as a perl script. Errors are returned in |$@|. X Xgoto <LABEL> XContinue execution at the specified label. X Xlast [<LABEL>] XImmediately exits the loop in question. Skips continue block. X Xnext [<LABEL>] XStarts the next iteration of the loop. X Xredo [<LABEL>] XRestarts the loop block without evaluating the conditional again. X Xreturn <EXPR> XReturns from a subroutine with the value specified. X\endtable X X\beginsection 6. Operators X X\table 1in X X|+| |-| |*| |/| XAddition, subtraction, multiplication, division. X X|%| XModulo division. X X\| |&| |^| XBitwise or, bitwise and, bitwise exclusive or. X X|>>| |<<| XBitwise shift right, bitwise shift left. X X|**| XExponentiation. X X|.| XConcatenation of two strings. X X|x| XReturns a string consisting of the left operand repeated the Xnumber of times specified by the right operand. X X\medskip\noindent XAll of the above operators also have an assignment operator, e.g. ``|.=|''. X\medskip X X|++| |--| XAuto-increment (magical on strings), auto-decrement. X X|?:| XAlternation (if-then-else) operator. X X\|\| |&&| XLogical or, logical and. X X|==| |!=| XNumeric equality, inequality. X X|eq| |ne| XString equality, inequality. X X|<| |>| XNumeric less than, greater than. X X|lt| |gt| XString less than, greater than. X X|<=| |>=| XNumeric less (greater) than or equal to. X X|le| |ge| XString less (greater) than or equal. X X|=~| |!~| XSearch pattern, substitution, or translation (negated). X X|..| XEnumeration, also input line range operator. X X|,| XComma operator. X\endtable X X\beginsection 7. File test operators X X\text X X%%rjc%% Changed "This unary operator" to "These unary operators" X%%rjc%% and concomitant grammar changes X XThese unary operators take one argument, either a filename or a Xfilehandle, and test the associated file to see if something is true about Xit. If the argument is omitted, tests |$_| X(except for |-t|, which tests |STDIN|). XIf the special argument |_| (underscore) is passed, uses the info of the Xpreceding test. X\medskip X X\table 1in X X|-r|/|-w|/|-x|/|-o| XFile is readable/writable/executable/owned by effective uid. X X|-R|/|-W|/|-X|/|-O| XFile is readable/writable/executable/owned by real uid. X X|-e|/|-z|/|-s| XFile exists / has zero/non-zero size. X X|-f|/|-d| XFile is a plain file, a directory. X X|-l|/|-S|/|-p| XFile is a symbolic link, a socket, a named pipe (FIFO). X X|-b|/|-c| XFile is a block/character special file. X X|-u|/|-g|/|-k| XFile has setuid/setgid/sticky bit set. X X|-t| XTests if filehandle (STDIN by default) is opened to a tty. X X|-T|/|-B| XFile is a text/non-text (binary) file. Both |-T| and |-B| return X<TRUE> on a null file, or a file at EOF when testing a Xfilehandle. X X\text X\medskip XAn |*| after the parameter list indicates that this function may be used Xeither as a function or as a unary operator, without the parentheses. XThe symbol \*\ after a parameter indicates that this parameter will default Xto |$_| if omitted. X X\beginsection 8. Arithmetic functions X X\table1.2in X Xatan2($X$,$Y$) XReturns the arctangent of $X/Y$ in the range $-\pi$ to $\pi$. X Xcos(<EXPR>\*)* XReturns the cosine of <EXPR> (expressed in radians). X Xexp(<EXPR>\*)* XReturns e to the power of <EXPR>. X Xint(<EXPR>\*)* XReturns the integer portion of <EXPR>. X Xlog(<EXPR>\*)* XReturns natural logarithm (base $e$) of <EXPR>. X Xrand [(<EXPR>)*] XReturns a random fractional number between 0 and the value of X<EXPR>. If <EXPR> is omitted, returns a value between 0 and 1. X Xsin(<EXPR>\*)* XReturns the sine of <EXPR> (expressed in radians). X Xsqrt(<EXPR>\*)* XReturn the square root of <EXPR>. X Xsrand[(<EXPR>)*] XSets the random number seed for the rand operator. X Xtime XReturns the number of seconds since January 1, 1970. Suitable for Xfeeding to gmtime(\dots) and localtime(\dots). X\endtable X X\beginsection 9. Conversion functions X X\table 1.2in X Xgmtime(<EXPR>)* XConverts a time as returned by the time function to a 9-element Xarray |($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, X$isdst)| with the time analyzed for the Greenwich timezone. |$mon| Xhas the range $0\ldots11$ and |$wday| has the range $0\ldots6$. X X%%rjc%% \* added Xhex(<EXPR>\*)* XReturns the decimal value of <EXPR> interpreted as an hex string. X Xlocaltime(<EXPR>)* XConverts a time as returned by the time function to a 9-element Xarray with the time analyzed for the local timezone. X X%%rjc%% \* added Xoct(<EXPR>\*)* XReturns the decimal value of <EXPR> interpreted as an octal string. XIf <EXPR> starts off with 0x, interprets it as a hex string instead. X Xord(<EXPR>\*)* XReturns the ascii value of the first character of <EXPR>. X Xvec(<EXPR>,<OFFSET>,<BITS>) XTreats <EXPR> as a string of unsigned ints, and yields the bit at X<OFFSET>. <BITS> must be between 1 and 32. May be used as an Xlvalue. X\endtable X X\text X\medskip XA <LIST> is a (possibly parenthesised) list of expressions, variables or X<LIST>s. In all circumstances, an array variable or an array slice may be Xused instead of a <LIST>. X X\beginsection 10. Structure conversion X X\table 1.2in X Xpack(<TEMPLATE>,<LIST>) XPacks the values into a binary structure using <TEMPLATE>. X Xunpack(<TEMPLATE>,<EXPR>) XUnpacks the structure <EXPR> into an array, using <TEMPLATE>. X\endtable X X\text X\medskip X<TEMPLATE> is a sequence of characters as follows: X X\table .4in X|a|/|A| X Ascii string, null/space padded X X|c|/|C| X Native/unsigned char value X X|s|/|S| X Signed/unsigned short value X X|i|/|I| X Signed/unsigned integer value X X|l|/|L| X Signed/unsigned long value X X|n|/|N| X Short/long in network byte order X X|p| X Pointer to a string X X|x| X Null byte X\endtable X\text X\medskip XEach character may be followed by a decimal number which will be used Xas a repeat count. Spaces may be included in the template for readability Xpurposes. X X\beginsection 11. String functions X X\table 1.2in X Xchop(<LIST>\*) XChops off the last character on all elements of the list; returns the Xlast chopped character. The parentheses may be omitted if <LIST> is Xa single variable. X Xcrypt(<PLAINTEXT>,<SALT>) XEncrypts a string. X X%%rjc%%\* added Xeval(<EXPR>\*)* X<EXPR> is parsed and executed as if it were a little perl program. XThe value returned is the value of the last expression evaluated. If Xthere is a syntax error or runtime error, an undefined string is Xreturned by eval, and |$@| is set to the error message. X Xindex(<STR>,<SUBSTR>) XReturns the position of <SUBSTR> in <STR>. If the substring is not Xfound, returns |$[|${}-1$. X X%%rjc%% \* added Xlength(<EXPR>\*)* XReturns the length in characters of the value of <EXPR>. X Xrindex(<STR>,<SUBSTR>) XReturns the position of the last occurrence of <SUBSTR> in <STR>. X Xsubstr(<EXPR>,<OFFSET>,<LEN>) XExtracts a substring out of <EXPR> and returns it. If <OFFSET> is Xnegative, counts from the end of the string. May be used as an Xlvalue. X\endtable X X\beginsection 12. Array and list functions X X\table 1.2in X Xdelete |$|<ARRAY>$\{$<KEY>$\}$ XDeletes the specified value from the specified associative array. XReturns the deleted value. X Xeach(|%|<ARRAY>)* XReturns a 2-element array consisting of the key and value for the Xnext value of an associative array. Entries are returned in an Xapparently random order. When the array is entirely read, a null Xarray is returned. The next call to each(\dots) after that will start Xiterating again. X Xgrep(<EXPR>,<LIST>) XEvaluates <EXPR> for each element of the <LIST>, locally setting |$_| to Xrefer to the element. Modifying |$_| will modify the corresponding Xelement from <LIST>. Returns array of elements from <LIST> for Xwhich <EXPR> returned true. X Xjoin(<EXPR>,<LIST>) XJoins the separate strings of <LIST> into a single string with fields Xseparated by the value of <EXPR>, and returns the string. X Xkeys(|%|<ARRAY>)* XReturns a normal array consisting of all the keys of the named Xassociative array. X Xpop(|@|<ARRAY>)* XPops and returns the last value of the array, shortens the array by 1. X Xpush(|@|<ARRAY>,<LIST>) XPushes the values of <LIST> onto the end of <ARRAY>. The length of X<ARRAY> increases by the length of <LIST>. X Xreverse(<LIST>)* XReturns the <LIST> in reverse order. X Xshift[(|@|<ARRAY>)*] XShifts the first value of the array off and returns it, shortening the Xarray by 1 and moving everything down. If |@|<ARRAY> is omitted, Xshifts |@ARGV| in main and |@_| in subroutines. X Xsort([<SUBROUTINE>] <LIST>)* XSorts the <LIST> and returns the sorted array value. If X<SUBROUTINE> is specified, gives the name of a subroutine that Xreturns less than zero, zero, or greater than zero, depending on how Xthe elements of the array, available to the routine as |$a| and |$b|, are Xto be ordered. X Xsplice(|@|<ARRAY>,<OFFSET>[,<LENGTH>[,<LIST>]]) XRemoves the elements of |@|<ARRAY> designated by <OFFSET> and X<LENGTH>, and replaces them with <LIST> (if specified). XReturns the elements removed. X Xsplit[(/<PATTERN>/[,<EXPR>\*[,<LIMIT>]])] XSplits a string into an array of strings, and returns it. If <LIMIT> is Xspecified, splits in no more than that many fields. If <PATTERN> is Xalso omitted, splits on whitespace (\hbox{|/[ \t\n]+/|}). If not in array Xcontext: returns number of fields and splits to |@_|. X Xunshift(|@|<ARRAY>,<LIST>) XPrepends list to the front of the array, and returns the number of Xelements in the new array. X Xvalues(|%|<ARRAY>)* XReturns a normal array consisting of all the values of the named Xassociative array. X\endtable X X\beginsection 13. File operations X X\text X XFunctions operating on a list of files return the number of files Xsuccessfully operated upon. X\medskip X X\table 1.2in X Xchmod(<LIST>)* XChanges the permissions of a list of files. The first element of the Xlist must be the numerical mode. X Xchown(<LIST>)* XChanges the owner and group of a list of files. The first two Xelements of the list must be the numerical uid and gid. X Xlink(<OLDFILE>,<NEWFILE>) XCreates a new filename linked to the old filename. X Xlstat(<FILE>) XLike stat, but does not traverse a final symbolic link. X Xmkdir(<DIR>,<MODE>) XCreates a directory with given permissions. Sets |$!| on failure. X Xselect(<RBITS>,<WBITS>,<NBITS>,<TIMEOUT>) XPerforms a select(2) system call with the same parameters. X Xreadlink(<EXPR>\*)* XReturns the value of a symbolic link. X Xrename(<OLDNAME>,<NEWNAME>) XChanges the name of a file. X Xrmdir(<FILENAME>\*)* XDeletes the directory if it is empty. Sets |$!| on failure. X Xstat(<FILE>) XReturns a 13-element array |($dev, $ino, $mode, $nlink, $uid, $gid, X$rdev, $size, $atime, $mtime, $ctime, $blksize, $blocks)|. <FILE> can Xbe a filehandle, an expression evaluating to a filename, or |_| to refer Xto the last file test operation. The parentheses may be omitted if X<FILE> is a filehandle, a variable, or |_|. X Xsymlink(<OLDFILE>,<NEWFILE>) XCreates a new filename symbolically linked to the old filename. X Xunlink(<LIST>)* XDeletes a list of files. X Xutime(<LIST>)* XChanges the access and modification times on each file of a list of Xfiles. The first two elements of the list must be the numerical Xaccess and modification times. X\endtable X X\beginsection 14. Directory reading routines X X\table1.2in X Xclosedir(<DIRHANDLE>)* XCloses a directory opened by opendir. X Xopendir(<DIRHANDLE>,<DIRNAME>) XOpens a directory on the handle specified. X Xreaddir(<DIRHANDLE>)* XReturns the next entry (or an array of entries) in the directory. X Xrewinddir(<DIRHANDLE>)* XPositions the directory to the beginning. X Xseekdir(<DIRHANDLE>,<POS>) XSets position for readdir on the directory. X Xtelldir(<DIRHANDLE>)* XReturns the postion in the directory. X\endtable X X\beginsection 15. Input/Output X X\text XIn input/output operations, <FILEHANDLE> may be a filehandle as Xopened by the ``open'' operator, or a scalar variable which evaluates to Xthe name of a filehandle to be used. X\medskip X X\table1.2in X X%%rjc%% MS-DOS properly capitalized Xbinmode(<FILEHANDLE>)* XArranges for the file opened on <FILEHANDLE> to be read in X``binary'' mode as opposed to ``text'' mode (MS-DOS only). X Xclose(<FILEHANDLE>)* XCloses the file or pipe associated with the file handle. X Xdbmclose(|%|<ARRAY>)* XBreaks the binding between the array and the dbm file. X Xdbmopen(|%|<ARRAY>,<DBMNAME>, <MODE>) XBinds a dbm or ndbm file to the associative array. If the database Xdoes not exist, it is created with the indicated mode. X Xeof(<FILEHANDLE>) XReturns 1 if the next read will return end of file, or if the file is not Xopen. X Xeof XReturns the eof status for the last file read. X Xeof() XIndicates eof on the pseudo file formed of the files listed on the Xcommand line. X Xfcntl(<FILEHANDLE>,<FUNCTION>,|$|<VAR>) XImplements the fcntl(2) function. This function has non-standard Xreturn values. See the manual for details. X Xfileno(<FILEHANDLE>)* XReturns the file descriptor for a given (open) file. X Xflock(<FILEHANDLE>,<OPERATION>) XCalls flock(2) on the file. <OPERATION> adds from 1 (shared), 2 X(exclusive), 4 (non-blocking) or 8 (unlock). X Xgetc[(<FILEHANDLE>)*] XYields the next character from the file, or |NULL| on |EOF|. If X<FILEHANDLE> is omitted, reads from |STDIN|. X Xioctl(<FILEHANDLE>,<FUNCTION>,|$|<VAR>) Xperforms ioctl(2) on the file. This function has non-standard return Xvalues. See the manual for details. X Xopen(<FILEHANDLE>[,<FILENAME>]) XOpens a file and associates it with <FILEHANDLE>. If <FILENAME> Xis omitted, the scalar variable of the same name as the X<FILEHANDLE> must contain the filename. The filename may be Xoptionally preceded by ``|>|'', ``|>>|'' or ``|<|'' to select Xoutput/append/input mode. Default mode is input. Precede with X``|+|'' to select read/write access. Use ``|&|\dots'' to connect Xto an already Xopened filehandle. Pipes to/from commands may be opened with X``\|\dots'' and ``\dots\|'' . Open returns 1 upon success, undef otherwise, Xexcept for pipes. The parentheses may be omitted, if only a X<FILEHANDLE> is specified. X Xpipe(<READHANDLE>,<WRITEHANDLE>) XReturns a pair of connected pipes. X Xprint[([<FILEHANDLE>] <LIST>\*)*] XPrints a string or a comma-separated list of strings. If X<FILEHANDLE> is omitted, prints by default to standard output (or SHAR_EOF echo "End of perlref.tex part 1" echo "File perlref.tex is continued in part 2" echo "2" > shar3_seq_.tmp exit 0 -- Johan Vromans jv@mh.nl via internet backbones Multihouse Automatisering bv uucp: ..!{uunet,hp4nl}!mh.nl!jv Doesburgweg 7, 2803 PL Gouda, The Netherlands phone/fax: +31 1820 62944/62500 ------------------------ "Arms are made for hugging" -------------------------