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
-
Various unary functions, including functions like
ord
and
int
, as well as the all file tests (
-f
,
-d
) except for
-t
, which defaults to
STDIN
.
-
Various list functions like
print
and
unlink
.
-
The pattern-matching operations
m//
,
s///
, and
tr///
when used without an
=~
operator.
-
The default iterator variable in a
foreach
loop if no other
variable is supplied.
-
The implicit iterator variable in the
grep
and
map
functions.
-
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
while
test (i.e., <
filehandle
>).
Note that outside of a
while
test, this
will not happen.
-
$_
-
$ARG
-
The default input and pattern-searching space.
-
$.
-
$INPUT_LINE_NUMBER
-
-
$NR
-
The current input line number of the last filehandle that was read. An
explicit close on the filehandle resets the line number.
-
$/
-
$INPUT_RECORD_SEPARATOR
-
-
$RS
-
The input record separator; newline by default.
If set to the null string, it treats blank lines as
delimiters.
-
$,
-
$OUTPUT_FIELD_SEPARATOR
-
-
$OFS
-
The output field separator for the
print
operator.
-
$\
-
$OUTPUT_RECORD_SEPARATOR
-
$ORS
-
The output record separator for the
print
operator.
-
$
-
$LIST_SEPARATOR
-
Like "
$,
" except that it applies to list 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.
Default is
"\034"
.
-
$^L
-
$FORMAT_FORMFEED
-
What a format outputs to perform a formfeed. Default is
"\f"
.
-
$:
-
$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""
.
-
$^A
-
$ACCUMULATOR
-
The current value of the
write
accumulator for
format
lines.
-
$#
-
$OFMT
-
Contains the output format for printed numbers
(deprecated).
-
$?
-
$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 the
errno
variable, identifying the last system call error.
If used in a string context,
yields the corresponding system error string.
-
$@
-
$EVAL_ERROR
-
The Perl syntax error message from the last
eval
command.
-
$$
-
$PROCESS_ID
-
$PID
-
The pid of the Perl process running this script.
-
$<
-
$REAL_USER_ID
-
$UID
-
The real user ID (uid) of this process.
-
$>
-
$EFFECTIVE_USER_ID
-
$EUID
-
The effective uid of this process.
-
$(
-
$REAL_GROUP_ID
-
$GID
-
The real group ID (gid) of this process.
-
$)
-
$EFFECTIVE_GROUP_ID
-
$EGID
-
The effective gid of this process.
-
$0
-
$PROGRAM_NAME
-
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. Default is 0.
-
$]
-
$PERL_VERSION
-
Returns the version plus patchlevel divided by 1000.
-
$^D
-
$DEBUGGING
-
The current value of the debugging flags.
-
$^E
-
$EXTENDED_OS_ERROR
-
Extended error message on some platforms.
-
$^F
-
$SYSTEM_FD_MAX
-
The maximum system file descriptor, ordinarily 2.
-
$^H
-
Contains internal compiler hints enabled by certain
pragmatic modules.
-
$^I
-
$INPLACE_EDIT
-
The current value of the inplace-edit extension. Use
undef
to disable
inplace editing.
-
$^M
-
The contents of
$M
can be used as an emergency memory pool in
case Perl
die
s with an out-of-memory error. Use of
$M
requires a special compilation of Perl. See the INSTALL document for
more information.
-
$^O
-
$OSNAME
-
Contains the name of the operating system that the current
Perl binary was compiled for.
-
$^P
-
$PERLDB
-
The internal flag that the debugger clears so that it doesn't debug
itself.
-
$^T
-
$BASETIME
-
The time at which the script began running, in seconds since the epoch.
-
$^W
-
$WARNING
-
The current value of the warning switch, either true or
false.
-
$^X
-
$EXECUTABLE_NAME
-
The name that the Perl binary itself was executed as.
-
$ARGV
-
Contains the name of the current file when reading from
<ARGV>
.