1)2fqqqqqr ! Aware to Perl: Perl Predefined Variables
icon Top 9 categories map      RocketAware > Perl >

Perl Predefined Variables

Tips: Browse or Search all pages for efficient awareness of Perl functions, operators, and FAQs.



Home

Search Perl pages


Subjects

By activity
Professions, Sciences, Humanities, Business, ...

User Interface
Text-based, GUI, Audio, Video, Keyboards, Mouse, Images,...

Text Strings
Conversions, tests, processing, manipulation,...

Math
Integer, Floating point, Matrix, Statistics, Boolean, ...

Processing
Algorithms, Memory, Process control, Debugging, ...

Stored Data
Data storage, Integrity, Encryption, Compression, ...

Communications
Networks, protocols, Interprocess, Remote, Client Server, ...

Hard World
Timing, Calendar and Clock, Audio, Video, Printer, Controls...

File System
Management, Filtering, File & Directory access, Viewers, ...

    
perlvar - Perl predefined variables

NAME

perlvar - Perl predefined variables


DESCRIPTION


Predefined Names

The following names have special meaning to Perl. Most of the punctuation names have reasonable mnemonics, or analogues in one of the shells. Nevertheless, if you wish to use the long variable names, you just need to say

    use English;

at the top of your program. This will alias all the short names to the long names in the current package. Some of them even have medium names, generally borrowed from awk.

To go a step further, those variables that depend on the currently selected filehandle may instead be set by calling an object method on the FileHandle object. (Summary lines below for this contain the word HANDLE.) First you must say

    use FileHandle;

after which you may use either

    method HANDLE EXPR

or

    HANDLE->method(EXPR)

Each of the methods returns the old value of the FileHandle attribute. The methods each take an optional EXPR, which if supplied specifies the new value for the FileHandle attribute in question. If not supplied, most of the methods do nothing to the current value, except for autoflush(), which will assume a 1 for you, just to be different.

A few of these variables are considered ``read-only''. This means that if you try to assign to this variable, either directly or indirectly through a reference, you'll raise a run-time exception.

Source: Copyright: Larry Wall, et al.




(Corrections, notes, and links courtesy of RocketAware.com)


$ARG
$_
- The default input and pattern-searching space.
$<digit> - Contains the subpattern from the corresponding set of parentheses in the last pattern matched.
$MATCH
$&
- The string matched by the last successful pattern match.
$PREMATCH
$`
- The string preceding whatever was matched by the last successful pattern match.
$POSTMATCH
$'
- The string following whatever was matched by the last successful pattern match.
$LAST_PAREN_MATCH
$+
- The last bracket matched by the last search pattern.
$MULTILINE_MATCHING
$*
- Set to 1 to do multi-line matching within a string, 0 to tell Perl that it can assume that strings contain a single line, for the purpose of optimizing pattern matches. Default is 0. Use of ``$*'' is deprecated in modern perls.
input_line_number HANDLE EXPR
$INPUT_LINE_NUMBER
$NR
$.
- The current input line number for the last file handle from which you read (or performed a seek or tell on).
input_record_separator HANDLE EXPR
$INPUT_RECORD_SEPARATOR
$RS
$/
- The input record separator, newline by default.
autoflush HANDLE EXPR
$OUTPUT_AUTOFLUSH
$|
- If set to nonzero, forces a flush right away and after every write or print on the currently selected output channel. Default is 0.
output_field_separator HANDLE EXPR
$OUTPUT_FIELD_SEPARATOR
$OFS
$,
- The output field separator for the print operator.
output_record_separator HANDLE EXPR
$OUTPUT_RECORD_SEPARATOR
$ORS
$\
- The output record separator for the print operator. Ordinarily the print operator simply prints out the comma-separated fields you specify, with no trailing newline or record separator assumed.
$LIST_SEPARATOR
$"
- This is like ``$,'' except that it applies to array values interpolated into a double-quoted string (or similar interpreted string). Default is a space.
$SUBSCRIPT_SEPARATOR
$SUBSEP
$;
- The subscript separator for multidimensional array emulation.
$OFMT
$#
- The output format for printed numbers. Use of ``$#'' is deprecated.
format_page_number HANDLE EXPR
$FORMAT_PAGE_NUMBER
$%
- The current page number of the currently selected output channel.
format_lines_per_page HANDLE EXPR
$FORMAT_LINES_PER_PAGE
$=
- The current page length (printable lines) of the currently selected output channel. Default is 60.
format_lines_left HANDLE EXPR
$FORMAT_LINES_LEFT
$-
- The number of lines left on the page of the currently selected output channel.
format_name HANDLE EXPR
$FORMAT_NAME
$~
- The name of the current report format for the currently selected output channel. Default is name of the filehandle.
format_top_name HANDLE EXPR
$FORMAT_TOP_NAME
$^
- The name of the current top-of-page format for the currently selected output channel. Default is name of the filehandle with _TOP appended.
format_line_break_characters HANDLE EXPR
$FORMAT_LINE_BREAK_CHARACTERS
$:
- The current set of characters after which a string may be broken to fill continuation fields (starting with ^) in a format. Default is " \n-", to break on whitespace or hyphens.
format_formfeed HANDLE EXPR
$FORMAT_FORMFEED
$^L
- What formats output to perform a form feed. Default is \f.
$ACCUMULATOR
$^A
- The current value of the write() accumulator for format() lines.
$CHILD_ERROR
$?
- The status returned by the last pipe close, backtick (``) command, or system() operator.
$OS_ERROR
$ERRNO
$!
- If used in a numeric context, yields the current value of errno, with all the usual caveats. If used in a string context, yields the corresponding system error string.
$EXTENDED_OS_ERROR
$^E
- More specific information about the last system error than that provided by $!, if available. (If not, it's just $! again, except under OS/2.)
$EVAL_ERROR
$@
- The Perl syntax error message from the last eval() command.
$PROCESS_ID
$PID
$$
- The process number of the Perl running this script.
$REAL_USER_ID
$UID
$<
- The real uid of this process.
$EFFECTIVE_USER_ID
$EUID
$>
- The effective uid of this process.
$REAL_GROUP_ID
$GID
$(
- The real gid of this process.
$EFFECTIVE_GROUP_ID
$EGID
$)
- The effective gid of this process. If you are on a machine that supports membership in multiple groups simultaneously, gives a space separated list of groups you are in.
$PROGRAM_NAME
$0
- Contains the name of the file containing the Perl script being executed.
$[ - The index of the first element in an array, and of the first character in a substring. As of Perl 5, assignment to ``$['' is treated as a compiler directive, and cannot influence the behavior of any other file. Its use is discouraged.
$PERL_VERSION
$]
- The version + patchlevel / 1000 of the Perl interpreter.
$DEBUGGING
$^D
- The current value of the debugging flags.
$SYSTEM_FD_MAX
$^F
- The maximum system file descriptor, ordinarily 2. System file descriptors are passed to exec()ed processes, while higher file descriptors are not.
$^H - The current set of syntax checks enabled by use strict.
$INPLACE_EDIT
$^I
- The current value of the inplace-edit extension.
$OSNAME
$^O
- The name of the operating system under which this copy of Perl was built, as determined during the configuration process.
$PERLDB
$^P
- The internal variable for debugging support.
$BASETIME
$^T
- The time at which the script began running.
$WARNING
$^W
- The current value of the warning switch.
$EXECUTABLE_NAME
$^X
- The name that the Perl binary itself was executed as, from C's argv[0].
$ARGV - contains the name of the current file when reading from <>.
@ARGV - The array @ARGV contains the command line arguments intended for the script.
@INC - The array @INC contains the list of places to look for Perl scripts to be evaluated by the do EXPR, require, or use constructs.
%INC - The hash %INC contains entries for each filename that has been included via do or require.
$ENV{expr} - The hash %ENV contains your current environment. Setting a value in ENV changes the environment for child processes.
$SIG{expr} - The hash %SIG is used to set signal handlers for various signals. Example:
$^M -emergency memory pool
[Overview Topics]





Rapid-Links: Search | About | Comments | Submit Path: RocketAware > Perl > perlvar/index.html
RocketAware.com is a service of Mib Software
Copyright 2000, Forrest J. Cavalier III. All Rights Reserved.
We welcome submissions and comments
- The real uid of this process.
Kml_J cMz8  J !U""T##S$R%`%%&'''((e))*+++,-->../0R0T0000000011'2)2+2,-->../0R0T000  Lucida Sans Unicode
$^I
- The current value of the inplace-edit extension.