Rex Swain's HTMLified |
Perl 5 Reference Guide | adapted by Dennis German |
fixed | denotes literal text. | word | is a keyword, i.e., a word with a special meaning. | |
| THIS | means variable text, i.e., things you must fill in. | RETURN key | denotes pressing a keyboard key. | |
| THIS£ | means that THIS will default to $_ if omitted.
| […] | denotes an optional part. |
-a | autosplit mode when used with -n or -p.
Splits to @F.
| ||||||||||
-F REGEXP | specifies a regular expression to split on | ||||||||||
-p | assumes an input loop around your script. Lines are printed. | ||||||||||
-n | assumes an input loop around your script. Lines are not printed.
| ||||||||||
-c | checks syntax but does not execute. | ||||||||||
-d | runs the script under the debugger.
Use -de 0 to start the debugger without a script
| ||||||||||
-D NUMBER | sets Debugging flags. | ||||||||||
-e COMMANDLINE | enter a single line of script.
Multiple -e commands may be given to build up a multiline script.
if -a is in effect.
| ||||||||||
-iEXT | files processed by the < > construct are
to be edited in place.
| ||||||||||
-s | interprets -xxx on the command line as a switch and sets
the corresponding variable $xxx in the script.
| ||||||||||
-S | Search for the script using the PATH environment variable
| ||||||||||
-T | Taint checking. | ||||||||||
-u | dumps core after compiling the script. To be used with the undump(1) program . | ||||||||||
-U | allows perl to perform Unsafe operations. | ||||||||||
-v | prints the version and patchlevel of your Perl executable. | ||||||||||
-w prints warnings about possible spelling errors and other error-prone constructs in the script.
| | -x [DIR] extracts Perl program from input stream. If DIR is specified,
| CDs to this directory before running the program.
| -0VAL (zero) Designates an initial value for the record
separator | $/. See also -l
| -P runs the C Preprocessor on the script before compilation by Perl.
| | -IDIR with | -P, tells the C preprocessor where to look for Include files.
The directory is prepended to @INC.
| -l [OCTNUM] enables automatic line-end processing, e.g., | -l013.
|
123,
1_234,
123.4,
5E-10,
0xff (hex),
0377 (octal),
'abc' literal string, no variable interpolation or escape characters,
except \' and \\.q/abc/.
Almost any pair of delimiters can be used instead of /…/.
"abc" Variables are interpolated and escape sequences are processed.
qq/abc/.
\t (Tab),
\n (Newline),
\r (Return),
\f (Formfeed),
\b (Backspace),
\a (Alarm),
\e (Escape),
\033 (octal),
\x1b (hex),
\c[ (control)
\l and \u lowercase/uppercase the following character.
\L and \U lowercase/uppercase until a \E
is encountered.\Q quote regular expression characters until a \E
is encountered.
`COMMAND` evaluates to the output of the COMMAND.
qx/COMMAND/.
Array:(1, 2, 3). () is an empty array.
(1..4) is the same as (1,2,3,4),
likewise ('a'..'z').
qw/foo bar …/ is the same as ('foo','bar',…).
Array reference:[1,2,3]
|
Hash (associative array):(KEY1,
VAL1,
KEY2,
VAL2,…)
Also (KEY1=>
VAL1,
KEY2=>
VAL2,…)
Hash reference:{KEY1,
VAL1,
KEY2,
VAL2,…}
|
sub {STATEMENTS}
Filehandles:
<STDIN>,
<STDOUT>,
<STDERR>,
<ARGV>,
<DATA>.
User-specified:
HANDLE,
$VAR.
Globs:
<PATTERN>
evaluates to all filenames according to the pattern.
Use <${VAR}>
or glob $VAR
to glob from a variable.
Here-Is:
<<IDENTIFIER
Shell-style "here document."
Special tokens:
__FILE__: filename;
__LINE__: line number;
__END__: end of program;
remaining lines can be read using the filehandle DATA.
$var | a simple scalar variable. |
$var[28] | 29th element of array @var.
|
$p = \@var | now $p is a reference to array @var.
|
$$p[28] | 29th element of array referenced by $p.
Also, $p->[28].
|
$var[-1] | last element of array @var.
|
$var[$i][$j] | $jth element of the $ith element of array @var.
|
$var{'Feb'} | one value from hash (associative array) %var.
|
$p = \%var | now $p is a reference to hash %var.
|
$$p{'Feb'} | a value from hash referenced by $p. Also, $p->{'Feb'}.
|
$#var | last index of array @var.
|
@var | the entire array; in a scalar context, the number of elements in the array. |
@var[3,4,5] | a slice of array @var.
|
@var{'a','b'} | a slice of %var; same as ($var{'a'},$var{'b'}).
|
%var | the entire hash; in a scalar context, true if the hash has elements.
|
$var{'a',1,…} | emulates a multidimensional array. |
('a'…'z')[4,7,9] | a slice of an array literal. |
PKG::VAR | a variable from a package, e.g., $pkg::var, @pkg::ary.
|
\OBJECT | reference to an object, e.g., \$var, \%hash.
|
*NAME | refers to all objects represented by NAME. *n1 = *n2 makes n1 an alias for n2. *n1 = $n2 makes $n1 an alias for $n2.
|
You can always use a {BLOCK}
returning the right type of reference instead of the variable identifier, e.g.,
${…},
&{…}.
$$p is just a shorthand for ${$p}.
** | Exponentiation | |
+ - * / | Addition, subtraction, multiplication, division | |
% | Modulo division i.e. remainder | |
& | ^ | Bitwise AND, OR, exclusiveOR | |
>> | << | Bitwise shift right, left |
|| | && | Logical OR, AND |
. | string Concatenation | |
x | the left operand (an array or a string) repeated the number of times specified by the right operand | |
All of the above operators also have an assignment operator, e.g., .=
| ||
-> | Dereference operator | |
\ | Reference (unary) | |
! | ~ | Negation (unary), bitwise complement (unary) |
++ | -- | Auto-increment (magical on strings), auto-decrement |
== | != | Numeric equality, inequality |
eq | ne | String equality, inequality |
< | > | Numeric less than, greater than |
lt | gt | String less than, greater than |
<= | >= | Numeric less (greater) than or equal to |
le | ge | String less (greater) than or equal to |
<=> | cmp | Numeric (string) compare. Returns -1, 0, 1. |
=~ | !~
| Search pattern, substitution, or translation (negated) |
.. | Range (scalar context) or enumeration (array context) | |
?: | Alternation (if-then-else) operator | |
, | Comma operator, also list element separator. You can also use =>.
| |
not | Low-precedence negation | |
and | Low-precedence AND | |
or | xor | Low-precedence OR, exclusiveOR |
All Perl functions can be used as list operators, in which case
they have very high or very low precedence, depending on
whether you look at the left or the right side of the operator.
Only the operators not, and, or and xor have lower precedence.
A "list" is a list of expressions, variables, or lists. An array variable or an array slice may always be used instead of a list.
Parentheses can be added around the parameter lists to avoid precedence problems.
Every statement is an expression, optionally followed by a modifier, and terminated by a semicolon. The semicolon may be omitted if the statement is the final one in a BLOCK.
Execution of expressions can depend on other expressions using one of the modifiers
if, unless, while or until, for example:
if EXPR2 ;
until EXPR2 ;
The logical operators ||,
&& or
?: also allow conditional execution:
|| EXPR2 ;
? EXPR2 : EXPR3 ;
Statements can be combined to form a BLOCK
when enclosed in {}. Blocks may be used to control flow:
if (EXPR) BLOCK
[ [ elsif (EXPR) BLOCK … ]
else BLOCK ]
unless (EXPR) BLOCK
[ else BLOCK ]
: ]
while (EXPR) BLOCK [ continue BLOCK ]
: ]
until (EXPR) BLOCK [ continue BLOCK ]
: ]
for (EXPR; EXPR; EXPR) BLOCK
: ]
foreach VAR£ (LIST) BLOCK
: ]
BLOCK [ continue BLOCK ]
Program flow can be controlled with:
goto LABEL
| Continue execution at the specified label. |
last [ LABEL ]
| Immediately exits the loop in question. Skips continue block. |
next [ LABEL ]
| Starts the next iteration of the loop. |
redo [ LABEL ]
| Restarts the loop block without evaluating the conditional again. |
Special forms are:
do BLOCK while EXPR ;
do BLOCK until EXPR ;
which are guaranteed to perform BLOCK once before testing EXPR, and
do BLOCK
which effectively turns BLOCK into an expression.
do f, require f, or use f
sub name { aka
@arrayOfAllArgs@_; aka
$firstArg $_[1]; $_[2] aka xxx;… ;
statments;
return }
&SUBROUTINE LIST | Executes a SUBROUTINE declared by sub , and returns the value of the last expression evaluated in SUBROUTINE.SUBROUTINE can be an expression yielding a reference to a code object. The & may be omitted if the subroutine has been declared before being used.
| ||||||||||||||||||||||||||||
[sub] BEGIN { EXPR; … } |
Perl rules of object oriented programming:
@ISA are searched.
Methods can be applied with:
->METHOD PARAMETERS
exp EXPR£ | e EXPR
| sin EXPR£ | sine ( radians). | ||||||
log EXPR£ | natural logarithm (base e)
| cos EXPR£ | cosine ( radians). | ||||||
sqrt EXPR£ | square root | atan2 Y,X | arctangent of Y/X in the range -pi to pi. | ||||||
rand [ EXPR ] | random fractional number between 0 and the value of EXPR. If EXPR is omitted, between 0 and 1. | abs EXPR£ | absolute value | ||||||
srand [ EXPR ] | seed for rand
| int EXPR£ | integer portion | ||||||
time
| seconds since January 1, 1970. Suitable for gmtime and localtime.
| ||||||||
localtime EXPR£ Converts a time as returned by the time function to
ctime(3) string. Sun Aug 15 20:26:21 2010
In array context, returns a 9-element array with the time analyzed for the local time zone.
$mon has the range 0..11 and
$wday has the range 0..6.
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); ## for display and log name
$month=(January,February,March,April,May,June,July,August,September,October,November,December)[$mon];
if ($mday< 10) { $mday= "0$mday" }; if (++$mon< 10) { $mon= "0$mon" }; $year = 1900 + $year;
if ($hour< 10) { $hour= "0$hour" }; if ( $min< 10) { $min= "0$min" }; if ( $sec< 10) { $sec = "0$sec" };
gmtime EXPR£ Converts a time as returned by the time function to a 9-element array Greenwich
chr EXPR£ Returns the character represented by the decimal value EXPR.
hex EXPR£ Returns the decimal value of EXPR interpreted as a hex string.
oct EXPR£ Returns the decimal value of EXPR interpreted as an octal string.
If EXPR starts off with 0x, interprets it as a hex string instead.
ord EXPR£ Returns the ASCII value of the first character of EXPR.
vec EXPR, OFFSET, BITS
Treats string EXPR as a vector of unsigned integers, and yields the bit at OFFSET.
BITS must be between 1 and 32.
May be assigned to.
pack TEMPLATE, LIST
| Packs the values into a binary structure using TEMPLATE. |
unpack TEMPLATE, EXPR
| Unpacks the structure EXPR into an array, using TEMPLATE. |
TEMPLATE is a sequence of characters as follows:
a | A | ASCII string, null- | space-padded |
b | B
| Bit string in ascending | descending order |
c | C | Native | unsigned char value |
f | d | Single | double float in native format |
h | H | Hex string, low | high nybble first |
i | I | Signed | unsigned integer value |
l | L | Signed | unsigned long value |
n | N | Short | long in network (big endian) byte order |
s | S | Signed | unsigned short value |
u | P | Uuencoded string | pointer to a string |
v | V | Short | long in VAX (little endian) byte order |
x | @ | Null byte | null fill until position |
X | Backup a byte |
Character may be followed by a decimal repeat count; an asterisk (*) specifies all
remaining arguments.
If the format is preceded with %N, unpack returns an N-bit checksum instead.
Spaces may be included in the template for readability purposes.
. |
use List::Util qw(first max maxstr min minstr reduce shuffle sum);
delete $HASH |
Each character matches itself, except + ? . * ^ $ ( ) [ ] { } | \.
The special meaning of these characters is escaped using a \.
. | matches any character, but not a newline
unless it is a single-line match (see m//s).
| ||||||||||||||||||||
(…) | groups a series of pattern elements to a single element. | ||||||||||||||||||||
^ | matches the beginning of the target. In multiline mode (see m//m) also matches after every newline character.
| ||||||||||||||||||||
$ | matches the end of the line. In multiline mode also matches before every newline character. | ||||||||||||||||||||
[ … ]
| denotes a class of characters to match.
[^ … ] negates the class.
| ||||||||||||||||||||
( … | … | … )
| matches one of the alternatives. | ||||||||||||||||||||
(?# comment )
| |||||||||||||||||||||
(?: REGEXP ) | does not make back-references. | ||||||||||||||||||||
(?= REGEXP ) | Zero width positive look-ahead assertion. | ||||||||||||||||||||
(?! REGEXP ) | Zero width negative look-ahead assertion. | ||||||||||||||||||||
(? MODIFIER )
| Embedded pattern-match modifier. MODIFIER can be one or more of
i, m, s, or x.
| ||||||||||||||||||||
| Quantified subpatterns match as many times as possible. When followed with a ? they match the minimum number of times.
These are the quantifiers: | |||||||||||||||||||||
+ | matches the preceding pattern element one or more times. | ||||||||||||||||||||
? | matches zero or one times. | ||||||||||||||||||||
* | matches zero or more times. | ||||||||||||||||||||
{N,M}
| at least N and no more than M matchs | ||||||||||||||||||||
{N} | means exactly N times | ||||||||||||||||||||
{N,} | at least N times. | ||||||||||||||||||||
A \ escapes special meaning of the following character if non-alphanumeric,A \ Introduces special usage for: | |||||||||||||||||||||
\w | matches alphanumeric, including _,
\W matches non-alphanumeric.
| ||||||||||||||||||||
\s | matches whitespace, \S matches non-whitespace.
| ||||||||||||||||||||
\d | matches digit, \D matches non-digit.
| ||||||||||||||||||||
\A \Z | |||||||||||||||||||||
| Variables local to the current block: | |
$` | string preceding |
$& | string matched by the last successful pattern match. |
$' | string following |
$+ | last bracket matched by the last search pattern. |
$1…$9…nbsp;
$10… and up (only available if
Contain subpatterns from the corresponding sets of parentheses in the
last pattern successfully matched.)
| |
With modifier x, whitespace can be used in the patterns for readability purposes.
=~ ] [m] /PATTERN/[ g][i][m][o][s][x]
| Searches EXPR (default: $_) for a pattern. Prepend an m to use of alternate pair of delimiters.In array context, an array is returned consisting of the subexpressions matched by the parentheses in the pattern, i.e., ($1,$2,$3,…).
If PATTERN is empty, the most recent pattern from a previous match or replacement is used. With g the match can be used as an iterator in scalar context.
|
?PATTERN? | matches only once between calls to the reset operator.
|
=~ ] s/PATTERN/SUBSTITUTION/[ e][g][i][m][o][s][x]
| substitues SUBSTITUTION for PATTERN in a string. Returns number of substitutions made or false.
If single quotes are delimiters, no interpretation is done. If bracketing delimiters are used, PATTERN and REPLACEMENT may have their own delimiters, e.g., of EXPR s(foo)[bar]. If PATTERN is empty, the most recent pattern from a previous match or replacement is used.
|
$VAR =~] tr/CHARS/REPLACEMENTS/c][d][s]
| Translates all occurrences of CHARS to the corresponding character in REPLACEMENTS. y may be used instead of tr. Returns the number of characters replaced.
|
pos SCALAR
| Returns the position where the last m//g search left off
for SCALAR. May be assigned to.
|
study $VAR£
| Study the scalar variable $VAR in anticipation of
performing many pattern matches on its contents before the variable is next modified.
|
$_), filename or filehandle._ (underscore) is passed, information is from the preceding test or stat .
-r -w -x | readable/writable/executable by effective uid/gid. |
-R -W -X | readable/writable/executable by real uid/gid. |
-o -O | owned by effective/real uid. |
-e -z | exists/has zero size. |
-s | exists and has non-zero size. Returns the size. |
-f -d | a plain file/ directory. |
-l -S -p | a symbolic link/ socket/ named pipe (FIFO). |
-b -c | a block/character special file. |
-u -g -k | setuid/setgid/sticky bit set. |
-t | filehandle (STDIN by default) is opened to a tty.
|
-T -B | text/non-text (binary) file. Return true on a null file, or a file at EOF when testing a filehandle.
|
-M -A -C | File modification / access / inode-change time. Measured in days. Value returned reflects the file age at the time the script started. See also $^T
Special Variables.
|
chmod LIST | Changes the permissions of a list of files. The first element of the list must be the numerical mode. | ||||||||||||||
chown LIST | Changes the owner and group of a list of files. The first two elements of the list must be the numerical uid and gid. | ||||||||||||||
truncate FILE, SIZE
| Truncates FILE to SIZE. FILE may be a filename or a filehandle. | ||||||||||||||
lstat FILE | Like stat, but does not traverse a final symbolic link.
| ||||||||||||||
mkdir DIR, MODE | makes a directory with given permissions.(MODE)
Sets $! on failure.
| ||||||||||||||
rename OLDNAME |
open operator, a predefined filehandle
(e.g., STDOUT) or a scalar variable that evaluates to the name of a
filehandle to be used.
|
formline PICTURE, LIST$^A.
write [ FILEHANDLE ]
Writes a formatted record to the specified file, using the format associated with that file.
Formats are defined as:
format [NAME] =.
FORMLIST pictures the lines, and contains the arguments which will
give values to the fields in the lines. NAME defaults STDOUT
Picture fields are:
@<<<…
| left adjusted field, repeat the < to denote the desired width
|
@>>>…
| right adjusted field |
@|||…
| centered field |
@#.##…
| numeric format with implied decimal point |
@*
| a multi-line field |
^ instead of @ for multiline block filling.~ at the beginning of a line to suppress unwanted empty lines.~~ at the beginning of a line to have this format line repeated until
all fields are exhausted.$- to zero to force a page break on the next write.$^, $~, $^A, $^F,
$- and $=
Special Variables.
opendir DIRHANDLE, DIRNAME | Opens a directory on the handle specified. |
closedir DIRHANDLE | Closes a directory opened by opendir.
|
readdir DIRHANDLE | Returns the next entry (or an array of entries) from the directory. |
rewinddir DIRHANDLE | Positions the directory to the beginning. |
seekdir DIRHANDLE, POS | Sets position for readdir on the directory.
|
telldir DIRHANDLE | Returns the position in the directory. |
alarm EXPR | Schedules a SIGALRM to be delivered after EXPR seconds.
|
chdir [ EXPR ] | Changes the working directory.
Uses $ENV{"HOME"} or $ENV{"LOGNAME"} if EXPR is omitted.
|
chroot FILENAME£
| Changes the root directory for the process and its children. |
die [ LIST ] | Prints the value of LIST to STDERR
and exits with the current value of $! (errno).If $! is 0, exits with the value of ($? >> 8).If ($? >> 8) is 0, exits with 255.
LIST defaults to "Died".
|
exec LIST | Executes the system command in LIST; does not return. |
exit [ EXPR ] | Exits immediately with the value of EXPR, which defaults to 0 (zero).Calls END routines and object destructors before exiting.
|
fork | Does a fork(2) system call. Returns the process ID of the child to the parent process and zero to the child process. |
getlogin | Returns the current login name as known by the system. |
getpgrp [ PID ] | Returns the process group for process PID (0, or omitted, means the current process). |
getppid | Returns the process ID of the parent process. |
getpriority WHICH, WHO | Returns the current priority for a process, process group, or user. |
glob PAT | Returns a list of filenames that match the shell pattern PAT. |
kill LIST | Sends a signal to a list of processes. The first element of the list must be the signal to send (either numeric, or its name as a string). |
setpgrp PID, PGRP
| Sets the process group for the PID (0 means the current process). |
setpriority WHICH, WHO, PRIORITY
| Sets the current priority for a process, process group, or a user. |
sleep [ EXPR ] | Causes the program to sleep for EXPR seconds, or forever if no EXPR. Returns the number of seconds actually slept. |
syscall LIST | Calls the system call specified in the first element of the list, passing the rest of the list as arguments to the call. |
system LIST | Executes the system command in LISTas exec LIST
except that a fork is performed first, and the parent process waits for the child process to complete.
|
times | Returns a 4-element array
(0: $user,1: $system,2: $cuser,3: $csystem)giving the user and system times, in seconds, for this process and the children of this process. |
umask [ EXPR ] | Sets the umask for the process and returns the old one. If EXPR is omitted, returns current umask value. |
wait | Waits for a child process to terminate and returns the process ID of the
deceased process (-1 if none). The status is returned in $?.
|
waitpid PID, FLAGS | Performs the same function as the corresponding system call. |
warn [ LIST ] | Prints the message on STDERR like die, but doesn't exit.
LIST defaults to "Warning: something's wrong".
|
accept NEWSOCKET GENERICSOCKET | Accepts a new socket. |
bind SOCKET NAME | Binds the NAME to the SOCKET. |
connect SOCKET NAME | Connects the NAME to the SOCKET. |
getpeername SOCKET | Returns the socket address of the other end of the SOCKET. |
getsockname SOCKET | Returns the name of the SOCKET. |
getsockopt SOCKET LEVEL OPTNAME | Returns the socket options. |
listen SOCKET QUEUESIZE | Starts listening on the specified SOCKET. |
recv SOCKET SCALAR LENGTH FLAGS | Receives a message on SOCKET. |
send SOCKET MSG FLAGS [ TO ] | Sends a message on the SOCKET. |
setsockopt SOCKET LEVEL OPTNAME OPTVAL | Sets the requested socket option. |
shutdown SOCKET HOW | Shuts down a SOCKET. |
socket SOCKET DOMAIN TYPE PROTOCOL | Creates a SOCKET in DOMAIN with TYPE and PROTOCOL. |
socketpair SOCKET1 SOCKET2 DOMAIN TYPE PROTOCOL | Creates a pair of bidirectional sockets. |
You need to require "sys/ipc.ph" before you can use the
symbolic names of the operations.
msgctl ID, CMD, ARGS
| Calls msgctl(2). If CMD is &IPC_STAT then ARGS must be a variable.
|
msgget KEY, FLAGS
| Creates a message queue for KEY. Returns the message queue identifier. |
msgsnd ID, MSG, FLAGS
| Sends MSG to queue ID. |
msgrcv ID, $VAR, SIZE, TYPE, FLAGS
| Receives a message from queue ID into VAR. |
semctl ID, SEMNUM, CMD, ARG
| Calls semctl(2). If CMD is &IPC_STAT of &GETALL
then ARG must be a variable.
|
semget KEY, NSEMS, SIZE, FLAGS
| Creates a set of semaphores for KEY. Returns the message semaphore identifier. |
semop KEY, … | Performs semaphore operations. |
shmctl ID, CMD, ARG
| Calls shmctl(2). If CMD is &IPC_STAT then ARG must be a variable.
|
shmget KEY, SIZE, FLAGS
| Creates shared memory. Returns the shared memory segment identifier. |
shmread ID, $VAR, POS, SIZE
| Reads at most SIZE bytes of the contents of shared memory segment ID starting at offset POS into VAR. |
shmwrite ID, STRING, POS, SIZE
| Writes at most SIZE bytes of STRING into the contents of shared memory segment ID at offset POS. |
defined EXPR
| Tests whether the lvalue EXPR has an value. |
undef [ LVALUE ]
| Undefines the LVALUE. Always returns the undefined value. |
do FILENAME
| Executes FILENAME as a Perl script.
See also require
Subroutines, Packages and Modules.
|
dump [ LABEL ]
| core dump, contiune at LABEL. |
eval { EXPR ; … } | Executes the code between { and }.
Traps runtime errors as described
with eval(EXPR), in the section String Functions.
|
local VARIABLE | |
local ( LIST )
| Creates a scope for the listed variables local to the enclosing block,
subroutine or eval.
|
my VARIABLE
| |
my ( LIST )
| Creates a scope for the listed variables lexically local to the enclosing block,
subroutine or eval.
|
ref EXPR£
| Returns a true value if EXPR is a reference.
Returns the package name if EXPR has been blessed into a package.
|
reset [ LLLL ]
| Resets ?? searches so that they work again.
LLLL is a list of single letters. All variables and arrays
beginning with one of those letters are reset
to their pristine state. Only affects the current package.
|
scalar EXPR
| Evaluates EXPR in scalar context. |
wantarray
| Returns true if the current context expects an array value.
|
passwd
returns ($name, $passwd,
$uid, $gid, $quota,
$comment, $gcos, $dir,
$shell)
getpwent Gets next user information.
| getpwnam NAME Gets information by name.
| getpwuid UID Gets information by user ID.
| endpwent Ends lookup processing.
| setpwent Resets lookup processing.
| | group
returns ($name, $passwd,
$gid, $members).
getgrgid GID Gets information by group ID.
| getgrnam NAME Gets information by name.
| getgrent Gets next information.
| setgrent Resets lookup processing.
| endgrent Ends lookup processing.
|
| hosts returns ($name, $aliases,
$addrtype, $length, @addrs).
gethostbyaddr ADDR, ADDRTYPE Gets information by IP address.
| gethostbyname NAME Gets information by hostname.
| gethostent Gets next host information.
| sethostent STAYOPEN Resets lookup processing.
| endhostent Ends lookup processing.
|
| networks returns ($name, $aliases,
$addrtype, $net).
getnetbyaddr ADDR, TYPE Gets information by address and type.
| getnetbyname NAME Gets information by network name.
| getnetent Gets next network information.
| setnetent STAYOPEN Resets lookup processing.
| endnetent Ends lookup processing.
|
| services returns ($name, $aliases,
$port, $proto).
getservbyname NAME, PROTO Gets information by service name.
| getservbyport PORT, PROTO Gets information by service port.
| getservent Gets next service information.
| setservent STAYOPEN Resets lookup processing.
| endservent Ends lookup processing.
|
| protocols returns ($name, $aliases,
$proto).
getprotobyname NAME Gets information by protocol name.
| getprotobynumber NUMBER Gets information by protocol number.
| getprotoent Gets next protocol information.
| setprotoent STAYOPEN Resets lookup processing.
| endprotoent Ends lookup processing.
| | ||||||||||||||||||||||||||||||||||||||||||||||
| global and should be localized in subroutines: | ||||||||
$. | current input line number of the last filehandle that was read. | |||||||
$/ | input record separator, newline by default. May be multicharacter. | |||||||
$" | separator that joins elements of arrays interpolated in strings. | |||||||
$\ | output record separator for the print operator. | |||||||
$, | output field separator "" | |||||||
$; | subscript separator for multidimensional array emulation. Default \034 | |||||||
$? | status returned by the last `…` command, pipe close or system operator.
| |||||||
$! | in a numeric context, yields current value of errno.
in a string context, yields corresponding error string. | |||||||
$@ | error message from the last eval or do EXPR command.
| |||||||
$: | set of characters after which a string may be broken to fill continuation fields (starting with ^) in a format.
| |||||||
$0 | name of the file containing the Perl script being executed. May be assigned to. | |||||||
$$ | process ID of the currently executing Perl program. Altered (in child process) by fork.
| |||||||
$< | real user ID of this process. | |||||||
$> | effective | |||||||
$( | real group ID of this process. | |||||||
$) | effective | |||||||
$^A | accumulator for formline and write operations.
| |||||||
$^F | highest system file descriptor, ordinarily 2. | |||||||
$^I | In-place edit extension as passed to Perl using -i.
| |||||||
$^L | Formfeed character used in formats. | |||||||
$^T | time (as delivered by time) when the program started. used by file test operators -M, -A and -C.
| |||||||
$] | perl version number, e.g., 5.001.
| |||||||
$^D | debug flags as passed to perl using -D.
| |||||||
$^W | value of the -w option as passed to Perl.
| |||||||
$^X | name by which the currently executing program was invoked. | |||||||
$^P | Internal debugging flag. | |||||||
$[ | index of the first element in an array, and of the first character in a substring. Default is 0. Deprecated. | |||||||
$# | output format for printed numbers. Deprecated. | |||||||
$* | Set to 1 to do multiline matching within strings. Deprecated, see m and s modifiers Search and Replace.
| |||||||
| context dependent and need not be localized: | ||||||||
$% | current page number of the currently selected output channel. | |||||||
$= | page length of the current output channel. Default is 60 lines. | |||||||
$- | number of lines remaining on the page. | |||||||
$~ | name of the current report format. | |||||||
$^ | name of the current top-of-page format. | |||||||
$| | If set to nonzero, flushs after write or print on currently selected output channel. Default is 0. | |||||||
$ARGV | name of the current file when reading from <>.
| |||||||
| local to the current block: | ||||||||
$& | string matched by the last successful pattern match. | |||||||
$` | string preceding "" | |||||||
$' | string following "" | |||||||
$+ | last bracket matched by the last search pattern. | |||||||
$1…$9… | Contain subpatterns from the corresponding sets of parentheses in the last pattern successfully matched. | |||||||
$10… and up are only available if match contained that many subpatterns.
| ||||||||
@ARGV | command-line arguments for the script (not including the command name). |
@EXPORT | Names the methods a package exports by default. |
@EXPORT_OK | Names the methods a package can export upon explicit request. |
@INC | directories to search for do FILENAME and require
|
@ISA | base classes of a package. |
@_ | Parameter array for subroutines. Also used by split if not in array context.
|
%ENV | current environment. |
%INC | List of files that have been included with require or do.
|
%OVERLOAD | used to overload operators in a package. |
%SIG | Used to set signal handlers |
Perl uses the following environment variables.
HOME | default for chdir
|
LOGDIR | default for chdir without argument and HOME is not set.
|
PATH | Used for subprocesses, and the Perl script with -S
|
PERL5LIB | colon-separated list of directories to search for library files before looking in the standard library and the current directory. |
PERL5DB | The command to get the debugger code. Default: BEGIN { require 'perl5db.pl' }.
|
PERLLIB | Used instead of PERL5LIB if the latter is not defined.
|
The Perl DebuggerInvoked withperl -d.
DGG's Version
|