Special Variables
Some variables have a predefined
and special meaning in Perl. They are the variables
that use punctuation characters
after the usual variable indicator ($, @, or
%), such as $_.
The explicit, long-form names shown are the variables’ equivalents
when you use the English module by including
"use English;" at the top of your program.
Global Special Variables
The most commonly used special variable is $_, which contains
the default input and pattern-searching string.
For example, in the following lines:
foreach ('hickory','dickory','doc') {
print;
}
The first time the loop is executed, “hickory” is printed.
The second time around, “dickory” is printed, and the third time, “doc”
is printed. That’s because in each iteration of the loop,
the current string is placed
in $_, and is used by default by print.
Here are the places where Perl will assume $_ even if you don’t
specify it:
Various unary functions, including functions like
ordandint, as well as the all file tests (-f,-d) except for-t, which defaults toSTDIN.Various list functions like
printandunlink.The pattern-matching operations
m//,s///, andtr///when used without an=~operator.The default iterator variable in a
foreachloop if no other variable is supplied.The implicit iterator variable in the
grepandmapfunctions.The default place to put an input record when a line-input operation’s result is tested by itself as the sole criterion of a
whiletest (i.e., <filehandle>). Note that outside of a ...