Webmaster in a Nutshell

Previous Chapter 15 Next
 

15.25 Special Variables

The following variables are global and should be localized in subroutines:

$_

The default input and pattern-searching space.

$.

The current input line number of the last filehandle that was read.

$/

The input record separator, newline by default. May be multicharacter.

$,

The output field separator for the print operator.

$"

The separator that joins elements of arrays interpolated in strings.

$\

The output record separator for the print operator.

$#

The output format for printed numbers. Deprecated.

$*

Set to 1 to do multiline matching within strings. Deprecated, see the m and s modifiers in the section called "Search and Replace Functions".

$?

The status returned by the last ` ... ` command, pipe close, or system operator.

$]

The Perl version number, e.g., 5.001.

$[

The index of the first element in an array, and of the first character in a substring. Default is 0. Deprecated.

$;

The subscript separator for multidimensional array emulation. Default is "\ 34".

$!

If used in a numeric context, yields the current value of errno. If used in a string context, yields the corresponding error string.

$@

The Perl error message from the last eval or do expr command.

$:

The set of characters after which a string may be broken to fill continuation fields (starting with ^) in a format.

$0

The name of the file containing the Perl script being executed. May have a value assigned to it.

$$

The process ID of the currently executing Perl program. Altered (in the child process) by fork.

$<

The real user ID of this process.

$>

The effective user ID of this process.

$(

The real group ID of this process.

$)

The effective group ID of this process.

$^A

The accumulator for formline and write operations.

$^D

The debug flags as passed to Perl using -D.

$^F

The highest system file descriptor, ordinarily 2.

$^I

In-place edit extension as passed to Perl using -i.

$^L

Formfeed character used in formats.

$^P

Internal debugging flag.

$^T

The time (as delivered by time) when the program started. This value is used by the file test operators -M, -A, and -C.

$^W

The value of the -w option as passed to Perl.

$^X

The name by which the currently executing program was invoked.

The following variables are context dependent and need not be localized:

$%

The current page number of the currently selected output channel.

$=

The page length of the current output channel. Default is 60 lines.

$-

The number of lines remaining on the page.

$~

The name of the current report format.

$^

The name of the current top-of-page format.

$|

If set to nonzero, forces a flush after every write or print on the currently selected output channel. Default is 0.

$ARGV

The name of the current file when reading from < >.

The following variables are always local to the current block:

$&

The string matched by the last successful pattern match.

$`

The string preceding what was matched by the last successful match.

$'

The string following what was matched by the last successful match.

$+

The last bracket matched by the last search pattern.

$1...$9...

Contain the subpatterns from the corresponding sets of parentheses in the last pattern successfully matched. $10... and up are only available if the match contained that many subpatterns.


Previous Home Next
Information from System Files Book Index Special Arrays